问题
钉钉微应用开发,页面更新之后,客户端访问时,依然访问的是老版的页面。需要清除钉钉缓存之后才能 刷新到新页面。但是全公司百十来号人,不能要求每人都清除一下缓存,最好是打开就是改过之后的页面。
解决
微应用是用vue-cli开发的,钉钉原生webview会将应用缓存cache缓存下来,并且很难通过钉钉内置缓存清除。最后查看打包后的文件发现,所有文件名都是不变的,即使改版后打包的文件名和改版前是一样的。这是导致缓存的原因。
解决办法:
在vue打包后的文件名添加时间戳,保证每次打包文件名都不一样。这样就不会触发缓存。
在vue-cli配置项中将打包文件名添加时间戳。
let TimeStamp = new Date().getTime();
configureWebpack: {
output: {
// 输出重构 打包编译后的 文件名称
filename: `js/[name].${TimeStamp}.js`,
chunkFilename: `js/[name].${TimeStamp}.js`,
},
},