在vue打包的时候发现浏览器出现了缓存,必须清除缓存以后,再进行强制刷新才能去除掉,开始的时候给js文件加上了时间戳,但是发现还是存在这个问题,最后在nginx中修改配置解决了。 先给js加上时间戳(在webpack.prod.conf.js的文件中)
const Version = new Date().getTime(); //先声明一下
//在下面加入js里面加入时间戳,css类似
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash:8].' + Version + '.js'),//拼接js
chunkFilename: utils.assetsPath('js/[name].[chunkhash:8].' + Version + '.js')
},
打包后的js文件和css文件已经有了时间戳,但是还是有缓存问题,说明还有影响,最终发现是打包好的index.htm文件在服务器端可能存在缓存问题,所以进行nginx 配置,让index.html不缓存。 两个选择一个就行no-cache浏览器会缓存,但刷新页面或者重新打开时。 会请求服务器,服务器可以响应304,如果文件有改动就会响应200 。 no-store浏览器不缓存,刷新页面需要重新下载页面。
location = /index.html {
add_header Cache-Control no-store;
# add_header Pragma no-cache;
}