Vue/cli不同环境下打包后js文件没有添加hash值-会导致缓存问题-解决_文件名

在Vue/cli中,可以通过设置webpack配置来解决打包后JS文件缓存问题,具体步骤如下:

  1. 在vue.config.js中配置outputFilename,添加哈希值,以确保每次构建后代码文件名都会更改:
module.exports = {
  configureWebpack: {
    output: {
      filename: '[name].[hash].js',
      chunkFilename: '[name].[hash].js'
    }
  }
}
  1. 使用vue-cli-service的build命令,其中默认为生产模式,会自动为文件添加哈希值:
vue-cli-service build
  1. 如果您使用了多个环境模式,例如开发环境,测试环境和生产环境,则可以针对不同的环境模式进行配置:
// 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文件没有添加哈希值的问题。