React.lazyを使ったWebpackコード分割のデバッグ方法
P粉001206492
P粉001206492 2023-08-29 16:07:28
0
1
378

React.lazy を使用してメイン アプリケーションからコードを分割しようとしていますが、期待どおりに動作せず、方法を理解するのに苦労しています。それをデバッグします。

私のコードはおおよそ次のとおりです。

//index.js 「react」から React をインポートします。 import { LibraryUtils } から './library/utils'; const Component = React.lazy(() => import('./component')); ... // コンポーネント.js 「react」から React をインポートします。 LibraryComponent を './library/component' からインポートします。 ...

私が欲しいのは:

  • vendors.chunk.js:react
  • main.chunk.js:index.js
  • main-1.chunk.js:component.js
  • library-0.chunk.js:library/utils
  • library-1.chunk.js:ライブラリ/コンポーネント
  • index.html: main.chunk.js、library-0.chunk.js、vendors.chunk.js
  • 非同期チャンク: main-1.chunk.js、library-1.chunk.js

私が得たものは次のとおりです:

  • vendors.chunk.js:react
  • main.chunk.js:index.js コンポーネント.js
  • library.chunk.js:library/utils ライブラリ/コンポーネント
  • index.html: main.chunk.js、library.chunk.js、vendors.chunk.js
  • 非同期ブロック: なし

その結果、最初のページの読み込みではすべての JS を読み込む必要があり、パフォーマンスが低下しました。

非同期チャンクを利用できるように、webpack で library を複数のチャンクに強制的に分割するにはどうすればよいですか?さらに良いことに、このような問題をデバッグするにはどうすればよいでしょうか?

私の構成はおおよそ次のとおりです。

splitChunks: { チャンク: 'すべて'、 キャッシュグループ: { 図書館: { テスト: /[\\/]ライブラリ[\\/]/, }、 }、 }

P粉001206492
P粉001206492

全員に返信 (1)
P粉795311321

問題は、babel-plugin-dynamic-import-nodeが予期せず含まれていることです。これは、動的インポート (非同期読み込み用) をノード環境内で通常の require に変換し、非同期ブロックが生成されないようにします。 。解決策は、これを削除することです (または、単体テストの実行時にのみ含めます)。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!