web-dev-qa-db-ja.com

React + webpack: 'process.env'は未定義です

Webpackを使用して、サイトでhot devサーバーを実行しようとしています。このサイトではReactJSを使用しています。ReactJSには次のコードが含まれています。

if (\"production\" !== process.env.NODE_ENV) // etc

ホットスワップを実行していない場合は問題ありませんが、ホットスワップを使用すると実行され、エラーが発生します。

TypeError: process.env is undefined

コードは次のようになります。

error is on this line

プロジェクトは https://github.com/webpack/react-starter whichdoesが動作するようにモデル化されています。質問は次のとおりです。構成ファイルでどのようなエラーが発生しましたか、「プロダクション」コンパイルが正常に動作するときにエラーを探すにはどうすればよいですか?

webpack configファイルの要点 を投稿しました。

31
Henrik

Webpackの設定には、process.envに影響を与える可能性のある2つのオプションがあります。

コードを見ると、process.envoptions.prerenderの両方がfalseである場合、options.minimizeは未定義のように見えます。

これを修正するには、常にprocess.envを定義する環境(例:node)を使用するか、DefinePluginを使用して変数にデフォルト値を割り当てます。

31

これが最も簡単な方法です。

new webpack.EnvironmentPlugin( { ...process.env } )

それをwebpackプラグインのリストに追加します。

8
Matt

この答えは私にとってもっと理にかなっています。完全な例を必要とする他の人に投稿する。

https://github.com/webpack/webpack/issues/868

7
Grant Eagon