2017-02-07 6 views
1

私のノードアプリケーションでは、アプリケーションの開発バージョンと製品バージョンを区別しようとしています。私のアプリケーションでwebpack-dev-serverを使用してノードアプリケーションを実行しているときに環境変数を設定していますか?

NODE_ENV =開発のWebPACK-devのサーバー--inline --hot --contentベース./public

、I:私はWebPACKの-devのサーバーを実行すると、私は次のコマンドを使用します。 process.env.NODE_ENVを使用してNODE_ENVにあるものを読み取ろうとしますが、nullと思われます。 webpack-dev-serverを使用しているときに、環境変数を設定する正しい方法ではありませんか?

編集:これは私のリアクションアプリケーションです。本番環境ではExpressを使ってアプリケーションを提供していますが、開発目的でwebpack-dev-serverを使用しています。

+0

WebPACKのdevのサーバーは、静的なクライアント側のファイルではなく、サーバーサイドのコードを提供するためです。変数をどこで確認していますか? – Paul

+0

ああ申し訳ありませんが、私は自分のReactアプリケーションにweb-pack-dev-serverを使用していることを明確にすべきです。私のReactアプリケーションでは、私が開発中であるか生産中であるかを確認するためのifステートメントが必要です。私は開発中であるか生産中であるかに応じて、api呼び出し(ローカルホストとプロダクションリンク)を行うときに2つの異なるURLを使用します。 – Andrew

答えて

2

実行時にprocess.env.NODE_ENVからアクセスできる環境変数NODE_ENVを設定すると、Node.jsに固有であり、クライアント側のコードでは使用できません。環境変数の設定について

plugins: [ 
    new webpack.DefinePlugin({ 
    'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) 
    }) 
] 

詳細情報::あなたのクライアント側のコード内で使用できるようにするためには、WebPACKののDefinePluginを使用することができますhttps://webpack.js.org/guides/production-build/#node-environment-variable

関連する問題