私はWebPACKのと私のプロジェクトをビルドしてテストを実行するためのカルマを使用しています。のWebPACKを実行するためのカルマにNODE_ENVを設定する適切な方法は何ですか?
ウェブホストがプロダクションドメイン名ではなくlocalhostにマップされたURLを持つテスト環境用のプロジェクトの条件付きビルドを実行するために、process.env.NODE_ENV
を "テスト"に設定するようにカルマを設定します。
この目的のために、Webpackのenv-replace-loader
を使用します。これは、コンフィグレーションファイルenvironments.json
を読み込み、process.env.NODE_ENV
の値に応じてAPI_URLなどの変数を設定します。プロダクションビルドではGulpを使ってprocess.env.NODE_ENV
を設定し、webpackを起動します。できます。
process.env.NODE_ENV = 'test'
をテストビルドに設定したい場合は、karma start karma.conf.js
を実行して開始します。現在、私はちょうどkarma.conf.js
でprocess.env.NODE_ENV = "test"
を言います。
それを行うには良い方法はありますか?
以外にも、私はこのように、この変数を設定するwebpack.config.js
にWebPACKののDefinePluginを使用しようとしました:
const webpackConfig = {
...
plugins: [
new webpack.DefinePlugin({
process.env: {'NODE_ENV': 'test'}
}),
...
],
...
}
をし、それが動作しません:WebPACKのenv-replace-loader
呪いそのModule build failed: TypeError: Cannot read property 'URL' of undefined
- 私は、それができると仮定表示されないノードレポートにアクセスしない
てみ ' ' "テスト"''。それは文字通りに置き換えられ、失敗すると 'JSON.stringify'が別のオプションになります。 –