Vue打包文件放在服務器後,瀏覽器存在緩存問題

每次打包更新版本發到服務器上,致使偶爾會出現不能即便更新最新代碼,瀏覽器存在緩存的問題。css

解決方法:找到webpack .prod.conf.jshtml

   1.定義版本變量: const  Version = new Date().getTime(); // 這裏使用的是時間戳 來區分 vue

output: {
    path: config.build.assetsRoot,
    filename: utils.assetsPath('js/[name].[chunkhash].'+_Version+'js'),
    chunkFilename: utils.assetsPath('js/[id].[chunkhash].'+_Version+'js')
  },

而後直接 npm run build 打包後 就能夠看到dist 文件裏的js 文件名帶上裏版本號webpack

 

可是 ,咱們發現 vue-cli裏的默認配置,css和js的名字都加了哈希值,因此新版本css、js和就舊版本的名字是不一樣的,不會有緩存問題。那麼就多是打包好的index.html放到服務器裏去的時候,index.html在服務器端多是有緩存的,這須要在服務器配置不讓緩存index.html  nginx

二、nginx 配置,讓index.html不緩存web

在開發調試web的時候,常常會碰到因瀏覽器緩存(cache)而常常要去清空緩存或者強制刷新來測試的煩惱,提供下apache不緩存配置和nginx不緩存配置的設置。在經常使用的緩存設置裏面有兩種方式,都是使用add_header來設置:分別爲Cache-Control和Pragma。vue-cli

add_header Cache-Control no-store;
add_header Pragma no-cache;

no-cache瀏覽器會緩存,但刷新頁面或者從新打開時 會請求服務器,服務器能夠響應304,若是文件有改動就會響應200 
no-store瀏覽器不緩存,刷新頁面須要從新下載頁面apache

相關文章
相關標籤/搜索