在Vue/cli中,可以通过设置webpack配置来解决打包后JS文件缓存问题,具体步骤如下:
- 在vue.config.js中配置outputFilename,添加哈希值,以确保每次构建后代码文件名都会更改:
module.exports = {
configureWebpack: {
output: {
filename: '[name].[hash].js',
chunkFilename: '[name].[hash].js'
}
}
}
- 使用vue-cli-service的build命令,其中默认为生产模式,会自动为文件添加哈希值:
vue-cli-service build
- 如果您使用了多个环境模式,例如开发环境,测试环境和生产环境,则可以针对不同的环境模式进行配置:
// vue.config.js
module.exports = {
productionSourceMap: false,
filenameHashing: true,
configureWebpack: config => {
if (process.env.NODE_ENV === 'production') {
// 生产环境配置
config.optimization.minimizer[0].options.terserOptions.output.filename = '[name].[contenthash].js'
config.optimization.minimizer[0].options.terserOptions.output.chunkFilename = '[name].[contenthash].js'
} else {
// 开发、测试环境配置
config.output.filename = '[name].[hash].js'
config.output.chunkFilename = '[name].[hash].js'
}
}
}
通过上述方法,您可以在不同的环境下使用不同的配置来解决打包后js文件没有添加哈希值的问题。