最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

vue-cli 打包后提交到線上出現(xiàn) "Uncaught SyntaxError:Unexpected token" 報錯

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:04:15
文檔

vue-cli 打包后提交到線上出現(xiàn) "Uncaught SyntaxError:Unexpected token" 報錯

vue-cli 打包后提交到線上出現(xiàn) Uncaught SyntaxError:Unexpected token 報錯:前言: 項目使用vue-cli版本2.9.3 ,vue-router使用webpackChunkName實現(xiàn)按需加載. BUG描述:該報錯在項目上線一段時間后,有用戶反映頁面無法正常游覽 (后面以問題1/問題2區(qū)分) 問題1.導航點擊無法正常跳轉(zhuǎn),console打印:Error:Loading
推薦度:
導讀vue-cli 打包后提交到線上出現(xiàn) Uncaught SyntaxError:Unexpected token 報錯:前言: 項目使用vue-cli版本2.9.3 ,vue-router使用webpackChunkName實現(xiàn)按需加載. BUG描述:該報錯在項目上線一段時間后,有用戶反映頁面無法正常游覽 (后面以問題1/問題2區(qū)分) 問題1.導航點擊無法正常跳轉(zhuǎn),console打印:Error:Loading

問題2.頁面全白,console打印:Uncaught SyntaxError:Unexpected token <

報錯截圖:

經(jīng)過一番折騰,初步定位問題1在經(jīng)過build/webpack.prod.conf.jschunkhash打包后的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 Headercontent-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

文檔

vue-cli 打包后提交到線上出現(xiàn) "Uncaught SyntaxError:Unexpected token" 報錯

vue-cli 打包后提交到線上出現(xiàn) Uncaught SyntaxError:Unexpected token 報錯:前言: 項目使用vue-cli版本2.9.3 ,vue-router使用webpackChunkName實現(xiàn)按需加載. BUG描述:該報錯在項目上線一段時間后,有用戶反映頁面無法正常游覽 (后面以問題1/問題2區(qū)分) 問題1.導航點擊無法正常跳轉(zhuǎn),console打印:Error:Loading
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top