前端项目发布完服务器后看是否更新为最新发布的代码(是否有缓存)

背景:webpack构建的时候文件名一样如果浏览器不强刷,则会保留上一次的构建代码内容,所以在webpack构建文件名称的时候加上当前的时间,这样文件名不会因为一样而加载上一次的内容

     let time = new Date().getTime();
    config.output.filename = `[name].${time}.js`
    config.output.chunkFilename = `[name].${time}.js`

但是移动端小程序内嵌的H5网页在线上环境是没有控制台输出的,就没法确认是不是更新了
思路:构建的时候暴露出来一个变量,在项目的空白处加一个点击事情(比如点击5次),点击之后就会弹出这个变量(埋点)。
首先暴露这个变量,在vue.config.js配置,运用webpack的DefinePlugin插件

// 获取分支名称
// const childProcess = require('child_process')
// const branch = childProcess.execSync('git rev-parse --short HEAD').toString().replace(/\s+/, '')
chainWebpack: (config) => {
    // 版本号
    config.plugin('define').tap(args => {
    //`${branch}本来想获取分支名称的  但是本地测试是好的,一发布到测试环境就打印HEAD没解决所以没用
      // args[0]["VERSION"] = JSON.stringify(`${branch} ${new Date().toLocaleString()}`)
      args[0]["VERSION"] = JSON.stringify(`${new Date().toLocaleString()}`)
      return args
    });
}

直接在文件里打印VERSION变量,在编译的时候就会拿到了,这样发布完后点击五次事件就可以打印当前编译的时间了,就能判断是不是最新的了

PS:代码里面遗留的问题,测试环境获取不到分支名,如果有解决的可以帮我解决一下哈

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值