在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  PHP  HTML/ web前端發(fā)布問題

web前端發(fā)布問題

1、起因是公司做了一個后臺管理系統(tǒng)(技術(shù)框架是Vue, UI庫是使用Element ui) 這個系統(tǒng)已經(jīng)有很多用戶使用了。
2、原先發(fā)布方式就是本地打包放到服務(wù)器上,但那天我想使用自動發(fā)布方式(公司開發(fā)的一套發(fā)布系統(tǒng),發(fā)布方式時覆蓋式發(fā)布,js版本號每次都會變),發(fā)完的第二天就出問題了,很多用戶加載不到最新資源,導(dǎo)致左側(cè)點(diǎn)不動(原因是我的左側(cè)菜單路由采取懶加載模式,最新資源加載不到瀏覽器報錯了),我只能讓他們刷新,但有的用戶瀏覽器緩存嚴(yán)重,就必須讓ctrl + f5強(qiáng)制刷新才行。
3、想問下其他的一些大公司的前端發(fā)布方式是如何避免系統(tǒng)正在發(fā)布時,用戶他也正巧在使用中,這樣情況的話得必須讓他主動刷新這樣問題的,謝謝~~ 。(現(xiàn)在想到的方案可以用CDN保存最近幾次發(fā)布的版本,然后定時去除最舊資源)

回答
編輯回答
喵小咪
  1. 舊資源不刪也行,不就點(diǎn) JS、CSS,幾乎沒什么消耗
  2. 使用 HTTP header 控制全部資源的緩存,方案你可以找找看,很多介紹的文章。重點(diǎn)在于你要想辦法采用同樣地策略,不要有些過期了有些還在走緩存。
  3. 大體上,如果你的新版本對用戶有幫助的話,他們會愿意配合你的刷新策略。更多的時候,后臺都要保留各個版本的接口,不太會出現(xiàn)不兼容的情況。你可以定時讀取版本信息,提示用戶刷新。
2018年3月18日 15:37
編輯回答
焚音

這種問題的根源應(yīng)該是系統(tǒng)的html頁面被緩存了,html頁面中請求的資源還是發(fā)布之前的資源,導(dǎo)致問題。
可以禁止瀏覽器緩存html頁面信息。

<meta HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-store, must-revalidate"> 
<meta HTTP-EQUIV="expires" CONTENT="0">
2017年5月31日 09:52