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

在钉钉微应用开发中遇到更新后页面无法自动刷新的问题,原因是钉钉原生webview缓存了旧版页面。通过分析发现,每次打包文件名未改变导致缓存无法清除。解决方案是在vue打包时为文件名添加时间戳,确保每次打包文件名不同,从而避免缓存。在vue-cli配置中修改输出文件名,添加时间戳,确保每次更新都能加载新版本。
1376





