Vue打包后部署缓存问题处理方式

1. 处理思路:添加时间戳

  1. 打包后的js文件名添加时间戳
    • 打包后的css文件名添加时间戳
      • 打包后的Img文件名添加时间戳

2. 涉及知识点

1. url-loader


NameTypeDefaultDescription
limit{Boolean|Number|String}true指定文件的最大大小(以字节为单位).
mimetype{Boolean|String}based from mime-types设置要转换的文件的MIME类型.
encoding{Boolean|String}base64指定将与文件内联的编码.
generator{Function}() => type/subtype;encoding,base64_data创建自己的自定义实现来编码数据.
fallback{String}file-loader指定当目标文件的大小超过限制时要使用的备用加载程序.
esModule{Boolean}true使用ES模块语法.

2. file-loader

  • url-loader内部封装了file-loader

3. 参考代码

  • /vue.config.js
const timeStamp = new Date().getTime()
module.exports = {
  devServer: {},
  configureWebpack: {
  // 打包后.js文件名添加时间戳,存放在js/
  // webpack打包的时候只会处理JS之间的依赖关系;下方处理css
    output: {
      filename: `js/[name].${timeStamp}.js`,
      chunkFilename: `js/[name].${timeStamp}.js`,
    }
  },
  css: {
    // 输出重构 打包编译后的css文件名称,添加时间戳,存放在css/
    extract: {
      filename: `css/[name].${timeStamp}.css`,
      chunkFilename: `css/[name].${timeStamp}.css`,
    }
  },
  chainWebpack(config) {
  // 打包后图片文件名添加时间戳,存放在img/
    config.module
      .rule('images')
      .use('url-loader')
      .tap(options => {
        options.name = `img/[name].${timeStamp}.[ext]`
        options.fallback = {
          loader: 'file-loader',
          options: {
            name: `img/[name].${timeStamp}.[ext]`
          }
        }
        return options
      })
  }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值