開發(fā)web項(xiàng)目時(shí),經(jīng)常會(huì)遇到修改了css、js、html等靜態(tài)文件,并部署到服務(wù)器之后。使用瀏覽器進(jìn)行訪問的時(shí)候,發(fā)現(xiàn)并沒有什么變化,這就是靜態(tài)緩存。
解決辦法:
1、新建 index.html,寫入禁止緩存的 meta
<!-- 設(shè)置 meta 不緩存 -->
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache" content="no-cache">
2、更目錄新建 vue.config.js,寫入如下內(nèi)容
let filePath = 'static/js/';// 打包后 js 文件保存目錄
let timeStamp = new Date().getTime();// 當(dāng)前時(shí)間戳
if (process.env.UNI_PLATFORM === 'h5') {
// 由于這種方式的打包,會(huì)導(dǎo)致編譯生成微信小程序(只驗(yàn)證了微信小程序)無法正常使用,所以判斷只針對 h5 發(fā)行的情況采用重構(gòu)
module.exports = {
// webpack 相關(guān)配置
filenameHashing: false, // 文件名是否加上hash值
configureWebpack: {
// webpack 配置 解決js緩存的問題,目前只適配H5端打包
output: {
// 輸出重構(gòu) 打包編譯后的 文件目錄 文件名稱 【模塊名稱.時(shí)間戳】,更多參數(shù)參考 vue webpack 配置
filename: `${filePath}[name].${timeStamp}.js`,
chunkFilename: `${filePath}[name].${timeStamp}.js`
},
}
}
} else {
// 其他打包需要的相關(guān)配置
module.exports = {
// webpack 相關(guān)配置
filenameHashing: false, // 文件名是否加上hash值
}
}