Vidorra

Vidorra

主站:https://blog.vidorra.life

解決ChunkLoadError: 加載塊 xx 失敗.報錯

Read the original article

問題的出現#

年前我開發了一個小工程:打印模板設計師,開發過程中其實遇到了很多問題,我想現在可以有一點時間記錄一些問題,供以後參考。

問題是在我已經發包以後出現的,因為我要在父工程引入我這個打印模板設計師,因此需要按照 lib 庫的形式,也就是 npm 包引進父工程,接著問題就出現了:當我打開父工程頁面的時候,我發現左側的面板裡都是空白的(下圖框選部分),按常理來說是有組件內容的!

image

接著打開控制台,就發現如下報錯:SyntaxError: Unexpected character '<' 跟斷點發現是找不到一個 chunk 文件的位置,import 的時候就報錯了。如果這個路徑不存在,就會重定向到/,所以報了這個錯。

於是我到網絡上尋求幫助,最後發現這篇文章:

[VUE 報錯] npm 的 lib 庫打包模式,引用時 ChunkLoadError 加載分包失敗

按照博主的解釋,

因為使用了懶加載,webpack 編譯時,轉譯分包引用路徑為 “基於網頁根目錄”, 而我們目標是 node_modules//lib/ 下的分包.
所以,我們在網頁根目錄的 js 目錄下自然找不到對應懶加載分包.

最後按照博主的解決方法,我選擇合併分包,也就是在 vue.config.js 中進行如下配置:

module.exports = defineConfig({
  configureWebpack: {
    plugins: [
      new webpack.optimize.LimitChunkCountPlugin({
        // 限制只打一個包,不分Chunk
        maxChunks: 1
      })
    ]
  }
})

然後發包測試,問題解決!

擴展閱讀#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。