昨天遇到一个问题,关于vue的单页面应用本地即时更改新增部分 放去远程服务器 访问却有缓存问题 需要强制刷新
查阅资料得知可能是由于html文件不会被强制替换 造成了不会去服务器获取 默认获取到的是缓存的文件
参考1 2021-12-08 http常用缓存策略及vue-cli单页面应用、服务器端(nginx)如何设置缓存或者禁用 - 简书
参考2 http常用缓存策略及vue-cli单页面应用、服务器端(nginx)如何设置缓存或者禁用_前端李小白的博客-CSDN博客_nginx清除缓存
(1)通过设置nginx 会导致nginx不可用 包括重启 均无法刷新页面 怀疑是自己不会使用
(2) 在html 文件中加入meta 标签 页面未清除缓存 无法达到刷新的效果
(3)在vue.config.js 文件中,找到output写入
注:chunkhash是哈希模式的 根据不同的入口文(Entry)进行依赖文件解析,构建对应的chunk,生成对应的哈希值。
hash :表示所有文件哈希值相同,如果任意文件内容发生变化,则再次打包后,所有哈希值均改变且相同。即当任意module发生改变时,所有bundle的hash都改变且相同。
contenthash :在打包时,我们会在js文件中导入CSS文件,因为他们是同一个入口文件,我们只改了JS代码,但是它的CSS在抽离生成CSS文件时hash也会跟着变,这个时候就需要contenthash来解决。
output: { // 输出重构 打包编译后的 文件名称 【模块名称.版本号.时间戳】
filename: `js/[name].[chunkhash].${timeStamp}.js`,
chunkFilename: `js/[id].[chunkhash].${timeStamp}.js` },// chunkhash