1. ホーム
  2. スクリプト・コラム
  3. その他

[解決済み】Webpack - クリティカルな依存関係:依存関係の要求は、式です。

2022-01-02 07:03:28

質問

インポート時に3つの警告メッセージが表示されます request をベアボーンウェブパックプロジェクトで使用することができます。このバグを再現するための最小限のサンプルは、以下のサイトにあります。 GitHub (実行 {コード と npm install).

npm start

この警告を消すにはどうしたらいいですか?


詳しくはこちら

Webpack は次のような解決を試みます。 Critical dependency: the request of a dependency is an expression の呼び出しを静的に行い、最小限のバンドルにします。ライブラリが require 呼び出しで変数や式を使用する場合(例えば requireこの行 require('' + 'nodent')) の場合、Webpack はそれらを静的に解決できず、パッケージ全体をインポートしてしまいます。

私の理論的根拠は、この動的なインポートは実運用では望ましくなく、コードは警告なしに保つのが最善であるということです。つまり、私はこの問題を解決するあらゆるソリューションを望んでいるのです。例えば

  1. 必要なライブラリをインポートするようにwebpackを手動で設定し、警告が発生しないようにする。
  2. を追加する。 ajv ファイルをプロジェクトに追加して、何らかの方法で require 呼び出しをオーバーライドしています。
  3. ライブラリのアップグレード hack.js には、警告を消す修正版があります。しかし、それを使いたい場合は、それがリリースされるまで、そして ajv-5.0.1-beta.3 と {コード {コード は、その後のアップデートをリリースします。もし、強制的に har-validator のベータ版を使用するようにします。 requestそうすれば、私の問題は解決します。
  4. その他

解決方法は?

で解決 {コード

の著者によると {コード の最新版で解決される予定です。 {コード {コード 数週間後に