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?
詳しくは:
require
Webpackは最小限のバンドルを作るために静的に呼び出しを解決しようとします。ライブラリがrequire呼び出しで変数や式を使用する場合(require('' + 'nodent')
例えばこれらの行)の場合ajv
、Webpack はそれらを静的に解決できず、パッケージ全体をインポートします。
私の考えでは、この動的インポートは本番環境では望ましくなく、コードは警告なしで維持するのが最善です。つまり、問題を解決するあらゆるソリューションが必要です。例:
- 必要なライブラリをインポートし、警告が発生しないように webpack を手動で構成します。
hack.js
何らかの方法で require 呼び出しをオーバーライドするファイルをプロジェクトに追加します。- ライブラリをアップグレードしています。
ajv-5.0.1-beta.3
には、警告を黙らせる修正プログラムがあります。 ただし、これを使用したい場合は、 がリリースされるまで、さらに とhar-validator
が後続のアップデートをリリースするまで待つ必要があります。のベータ版をrequest
強制的に使用する方法があれば、問題は解決します。har-validator
ajv
- 他の
ベストアンサー1
解決方法npm install [email protected] --save
の作者によれば、この問題は数週間以内にajv
最新バージョンの で解決される可能性が高いとのことです。request