問題2.頁面全白,console打印:Uncaught SyntaxError:Unexpected token <
報錯截圖:經(jīng)過一番折騰,初步定位問題1在經(jīng)過build/webpack.prod.conf.js
的chunkhash
打包后的JS文件hash值會有變更,因為每次更新代碼到線上都會刪除舊的dist目錄,將最新的dist目錄copy上傳提供后臺更新. 在更新代碼的這個過程用戶停留在頁面上,當用戶在更新完后重新操作就會導致報錯
問題1解決方法:捕獲路由報錯. (思路來源:https://www.gxlcms.com/article/147427.htm)
routers.onError((err) => { const pattern = /Loading chunk (\d)+ failed/g; const isChunkLoadFailed = err.message.match(pattern); if (isChunkLoadFailed) { let chunkBool = sessionStorage.getItem('chunkError'); let nowTimes = Date.now(); if (chunkBool === null || chunkBool && nowTimes - parseInt(chunkBool) > 60000) {//路由跳轉(zhuǎn)報錯,href手動跳轉(zhuǎn) sessionStorage.setItem('chunkError', 'reload'); const targetPath = routers.history.pending.fullPath; window.location.href = window.location.origin + targetPath; }else if(chunkBool === 'reload'){ //手動跳轉(zhuǎn)后依然報錯,強制刷新 sessionStorage.setItem('chunkError', Date.now()); window.location.reload(true); } } })
問題2在Network查看js文件加載的時候發(fā)現(xiàn)某個js文件Response Header
content-type異常,正常情況返回content-type: application/javascript
. 但是有一個js響應的內(nèi)容為HTML, js無法識別<符號導致拋出報錯
問題2目前還在與后臺商量如何解決,解決后會更新解決方法分享.有同學遇到同樣的問題可以一起討論或提出更好的解決方案參考學習.★★★
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com