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

鍍金池/ 問答/HTML/ 基于vue的項(xiàng)目在改動(dòng)或項(xiàng)目升級(jí)后,重新打包上傳到服務(wù)器后,如果用戶沒刷新瀏覽器

基于vue的項(xiàng)目在改動(dòng)或項(xiàng)目升級(jí)后,重新打包上傳到服務(wù)器后,如果用戶沒刷新瀏覽器,請(qǐng)求的js文件會(huì)出錯(cuò)

項(xiàng)目背景:
1、用的是 vue-cli 生成的 webpack 項(xiàng)目
2、資源路徑配置正確
3、打包后發(fā)布到服務(wù)器,能正常工作
4、用的是 vue-router + 賴加載

出錯(cuò)步驟:
1、用戶正在訪問 /version/today
2、項(xiàng)目升級(jí) (先刪除服務(wù)器上的全部文件,再把更新后的項(xiàng)目build打包,上傳到服務(wù)器)
3、用戶在 /version/today 下,點(diǎn)擊了別的路由 /version/other,出錯(cuò)

回答
編輯回答
孤島

1、之前的項(xiàng)目用的是:vue-router + 按需加載(路由懶加載),當(dāng)版本升級(jí)或有改動(dòng)時(shí),打包上傳到服務(wù)器就會(huì)出現(xiàn)以上錯(cuò)誤
2、沒有特別好的方法,目前采用的方法是,在vue-router中將所需要的組件全部加載過來,不采用按需加載,這樣,性能和時(shí)間都會(huì)增加,請(qǐng)酌情使用。
router.js

import A from './componets/a'
import B from './componets/b'

const router = [
    {
        path: '/a',
        component: A
    },
    {
        path: '/b',
        component: B
    }
]

3、其它參考
1)https://forum.vuejs.org/t/js/...

2017年8月27日 09:50
編輯回答
別瞎鬧

你的第五步的推測(cè)錯(cuò)了,應(yīng)該是 服務(wù)器上的a.123.js 被你刪除了,你可以做增量上傳。

不知道你的發(fā)布流程是怎樣的,如果你可以做到發(fā)布到服務(wù)器上的時(shí)候,是覆蓋發(fā)布,而不是先刪除再發(fā)布,那么就不會(huì)存在你說的問題

2017年6月30日 17:47
編輯回答
浪婳

兄弟,這是沒法解決的。

緩存和hash只能擇其一;

用戶在瀏覽中,他的manifest還是指向舊的文件,你重新發(fā)布應(yīng)該是刪除了舊的文件,所以找不到文件報(bào)錯(cuò)咯

2017年2月2日 02:13
編輯回答
下墜

我是這樣想的,就是在每個(gè)版本里面自定義一個(gè)常量版本,在router。beforeEach里面去校驗(yàn)這個(gè)版本號(hào)。如果版本號(hào)不對(duì),那說明版本更新了,提示用戶去刷新頁面以獲取新的版本的頁面。

2017年4月25日 15:59
編輯回答
不舍棄

樓主 怎么解決的啊 我也遇到了這個(gè)情況

2018年5月9日 03:17
編輯回答
網(wǎng)妓

樓主應(yīng)該要全量更新吧,把服務(wù)器上的文件先備份,然后進(jìn)行刪除,再上傳新的打包文件。應(yīng)該可以解決此問題。

2017年6月16日 03:00
編輯回答
蟲児飛

用的是vue-router吧?動(dòng)態(tài)加載可以設(shè)置加載錯(cuò)誤后觸發(fā)的函數(shù),出錯(cuò)后刷新界面就可以了。

2017年3月15日 18:36