Webpack - Critical dependency: the request of a dependency is an expression Ask Question

Webpack - Critical dependency: the request of a dependency is an expression Ask Question

I am getting three warning messages when importing request in a barebone webpack project. A minimal example to reproduce the bug is available on GitHub (run npm install and npm start).

Critical dependency: the request of a dependency is an expression

How can I get rid of this warning?


詳しくは:

requireWebpackは最小限のバンドルを作るために静的に呼び出しを解決しようとします。ライブラリがrequire呼び出しで変数や式を使用する場合(require('' + 'nodent')例えばこれらの行)の場合ajv、Webpack はそれらを静的に解決できず、パッケージ全体をインポートします。

私の考えでは、この動的インポートは本番環境では望ましくなく、コードは警告なしで維持するのが最善です。つまり、問題を解決するあらゆるソリューションが必要です。例:

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

ベストアンサー1

解決方法npm install [email protected] --save

の作者によれば、この問題は数週間以内にajv最新バージョンの で解決される可能性が高いとのことです。request

おすすめ記事