uniapp打包,然后部署到nginx之后诫给,頁面有緩存的解決辦法有兩種
第一種香拉,手動清理
在手機應用管理,找到你的應用然后點擊清理緩存即可解決中狂,但是這這種方式對于用戶來說不友好凫碌。
第二種,讓每次打包出來的uniapp里面的js文件都添加時間戳胃榕,讓瀏覽器知道你的文件已經(jīng)更新了盛险。最后還需要在nginx中配置禁用緩存
uniapp項目中,在根目錄中找到vue.config.js,如果沒有則新建一個苦掘,然后在該文件下添加以下內(nèi)容:
// vue.config.js
if (process.env.UNI_PLATFORM === 'h5') {
// 由于這種方式的打包换帜,會導致編譯生成微信小程序(只驗證了微信小程序)無法正常使用,所以必須分開
let filePath = './static/js/'
let Timestamp = new Date().getTime()
let version = '-V1.0.0-'
module.exports = {
// ... webpack 相關配置
filenameHashing: false,
configureWebpack: { // webpack 配置 解決js緩存的問題鹤啡,目前只適配H5端打包
output: { // 輸出重構 打包編譯后的 文件目錄 文件名稱 【模塊名稱.時間戳】
filename: `${filePath}[name]${version}${Timestamp}.js`,
chunkFilename: `${filePath}[name]${version}${Timestamp}.js`
},
}
}
}else{
// 其他打包需要的相關配置
module.exports = {
// ... webpack 相關配置
filenameHashing: false
}
}
然后將項目打包惯驼,找到路徑./static/js/,所有的js文件都是附帶時間戳的揉忘,如下所示:
image.png
將打包好的uniapp項目部署到nignx跳座,找到nignx的配置文件端铛,配置如下內(nèi)容禁用緩存泣矛。
location / {
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
add_header Expires 0;
}
總結:第一種指標不治本,第二種就是根治禾蚕。對于發(fā)布之后出現(xiàn)“連接服務器超時您朽,點擊屏幕重試”這情況的就可以按照上面的方法以及步驟進行解決。
原文鏈接:https://blog.csdn.net/qq_35387299/article/details/130879683