前言
前端项目发布新版本时,会经常遇到需要清理缓存的问题,以下是 Vue 项目禁用缓存的方法。
HTML 内容
在 HTML 页面(如 index.html
)的 <head>
标签中添加 meta
配置。
1 2 3
| <meta http-equiv="pragram" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="expires" content="0" />
|
Vue Cli 构建
针对 Vue3 以下版本,在 vue.config.js
新增配置内容,将时间戳作为打包编译后的文件名称的一部分。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| const Timestamp = new Date().getTime() module.exports = { configureWebpack: { output: { filename: `[name].${Timestamp}.js`, chunkFilename: `[name].${Timestamp}.js` }, }, css: { extract: { filename: `css/[name].${Timestamp}.css`, chunkFilename: `css/[name].${Timestamp}.css` } }, }
|
Nginx 配置
禁用掉 Nginx 缓存,让浏览器每次到服务器去请求文件,而不是在浏览器中读取缓存文件。值得一提的是,以下配置只对 HTML 文件有效。
1 2 3
| location ~ .*\.(?:htm|html)$ { add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate"; }
|
参考资料