https://segmentfault.com/a/1190000016919340
**問題1解決方法:捕獲路由報錯. (思路來源:[https://segmentfault.com/a/11...](https://segmentfault.com/a/1190000016382323))**
~~~
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) {//路由跳轉報錯,href手動跳轉
sessionStorage.setItem('chunkError', 'reload');
const targetPath = routers.history.pending.fullPath;
window.location.href = window.location.origin + targetPath;
}else if(chunkBool === 'reload'){ //手動跳轉后依然報錯,強制刷新
sessionStorage.setItem('chunkError', Date.now());
window.location.reload(true);
}
}
})
~~~
**問題2解決方法: 經過問題排查發現,vue-cli默認build后的文件名格式為`js/[name].[chunkhash].js`,每次`npm run build`后有改動的文件hash值都會改變,上傳后Nginx無法找到最新上傳的文件,所以返回了默認`index.html`里的內容,我們的文件后綴名是`.js`自然無法識別`<html>`這種標簽符號,導致console拋出`Uncaught SyntaxError:Unexpected token <`,我嘗試修改`build/webpack.prod.conf.js`output輸出文件名格式,目前問題已得到解決**

- CSS
- 長度單位
- 問題們
- 背景漸變
- 禁止用戶選中
- 給富文本重置樣式
- 移動端常見小問題
- bfc
- flex
- 父元素沒有包裹子元素的margin
- VUE
- 原理
- 生命周期
- vue-router原理
- 動態修改路由參數
- 在新窗口打開頁面
- 連跳兩個頁面
- 跳轉頁面自動回到頂部
- vue+webpack項目,停留一段時間報錯
- vue 路由去掉#
- webpack編譯目錄設置
- config配置
- HTTP
- HTTP狀態碼
- HTTP1.0,HTTP1.1,HTTP2.0
- axios和ajax的區別
- 模塊化
- git
- 比較
- 查看遠程倉庫地址
- git flow
- 比較分支的不同并保存壓縮文件
- Tag
- 回退
- node版本管理
- npm
- 確定用戶是否在當前頁面
- 前端下載文件
- 只能在微信中訪問
- 下載圖片
- webpack修改路徑為相對路徑
- 打開新頁面-被瀏覽器攔截
- textarea高度隨內容變化
- Debian/Ubuntu 安裝shadowsock
- 垂直居中
- video
- 去掉ios原始播放大按鈕
- 前端直播
- ios系列
- js彈出錯誤代碼
- nginx在MAC上的安裝、啟動、重啟和關閉
- 解析latex格式的數學公式
- Mac 新建unix可執行文件
- 正則-格式化a鏈接
- 原型
- unicode解析
- vue+webpack打包優化
- 各種JS題
- ES6
- seo
- React
- 兼容性
- canvas
- zsh