2017-06-04 7 views
1

たとえば、「webpackの環境変数」に関する多くの質問がありました。 DefinePlugin:Linuxでbashで定義された環境変数をwebpackに取得する

new webpack.DefinePlugin({'ENV': JSON.stringify('staging')}) 

が、私は私の人生のためにLinuxのbashシェルで定義されている環境変数を注入する方法を見つけることができません、代わりに私の生産とステージングでは、ハードコードされたstaging文字列

を使用します私は$ENV$API_KEYのような変数を定義しており、私のwebpack/ReactJsコードでその値を使いたいと思います。

編集

私はCLIからWebPACKのコマンドを実行した場合、私は、注意してください:

$ ENVIRONMENT=staging 
$ node_modules/.bin/webpack -p 

そして、私のwebpack.config.jsファイル内

はこれがない

new webpack.DefinePlugin({'ENV': JSON.stringify(process.env.ENVIRONMENT)}) 

定義私のJSコードではENVが定義されていません。

Ho私は同じ行にそれを実行した場合weverは、動作しているようです - 環境はwebpack.config.jsファイルで利用可能のようです:

$ ENVIRONMENT=staging node_modules/.bin/webpack -p 

だから私は本当に定義することなく、この仕事をしたいと思いENVIRONMENT変数はwebpackコマンドと同じ行にあります。

+1

'process.env。$ ENV'を使用していますか? – Li357

答えて

2

nodejsには、process.envオブジェクトから環境変数を取得できます。あなたのケースではprocess.env.$ENVprocess.env.$API_KEYをそれぞれ$ENV$API_KEYenvarsにすることができます。

0

私は

$ export ENVIRONMENT=staging 
$ node_modules/.bin/webpack -p 

が正常に動作して、指摘したように、人はその後、webpack.config.js

内側から process.env.ENVIRONMENTで環境変数にアクセスすることができますbashの端子に変数をエクスポートするのを忘れ愚か
関連する問題