Vidorra

Vidorra

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

ChunkLoadErrorの解決:チャンクxxの読み込みに失敗しました。エラー報告

原文を読む

問題の発生#

年末に私は小さなプロジェクトを開発しました:プリントテンプレートデザイナー。開発の過程で、実際には多くの問題に直面しました。今、少し時間を取って問題をいくつか記録し、将来の参考のために提供したいと思います。

問題は、私がすでにパッケージを配布した後に発生しました。親プロジェクトでこのプリントテンプレートデザイナーをインポートする必要があるため、lib ライブラリの形式で、つまり npm パッケージとして親プロジェクトに組み込む必要があります。その後、問題が発生しました:親プロジェクトのページを開くと、左側のパネルがすべて空白です(下図の選択部分)。通常、コンポーネントの内容が表示されるはずです!

image

次に、コンソールを開いてみると、次のエラーが表示されます:SyntaxError: Unexpected character '<'。ブレークポイントで調べると、チャンクファイルの場所が見つからないことがわかり、インポート時にエラーが発生していることがわかります。このパスが存在しない場合、/にリダイレクトされるため、このエラーが発生します。

そこで、インターネットで助けを求めた結果、次の記事を見つけました:

[VUE 报错] npm 的 lib 库打包模式,引用时 ChunkLoadError 加载分包失败

ブロガーの説明に従って、

懒読み込みを使用しているため、webpack のコンパイル時に、分割パッケージの参照パスが「ウェブページのルートディレクトリ」に基づいて変換されますが、私たちの目標は node_modules//lib/ にある分割パッケージです。
そのため、ウェブページのルートディレクトリの js ディレクトリでは、対応する遅延読み込みの分割パッケージが見つかりません。

最後に、ブロガーの解決策に従って、分割パッケージをマージすることを選択し、vue.config.js で次の設定を行いました:

module.exports = defineConfig({
  configureWebpack: {
    plugins: [
      new webpack.optimize.LimitChunkCountPlugin({
        // チャンクを1つだけ作成し、分割しないように制限する
        maxChunks: 1
      })
    ]
  }
})

その後、パッケージをテストし、問題が解決しました!

追加の読み物#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。