2017-01-10 10 views
0

私は、ガルプでビルドされたクロムエクステンションのReactプロジェクトを持っています。私は環境に基づいて設定値を伝播したいと思います。たとえば、CHROME_ENV=stagingとしたいのですが、config.oauth_client_id = '<some ceratain thing>'があり、それを環境ごとに変更することができます。ですから、質問は二重です: *環境変数に基づいて異なるファイルをビルドするにはどうしたらいいですか? *どのように私のReactプロジェクトを構造化して、configモジュールか、または私の設定を格納するかなりグローバルなものがあります。グルプの環境に応じて異なる設定をするにはどうすればいいですか?

あなたは、環境変数を設定するか、単に一気スクリプトに渡す方法dotenv、( https://github.com/motdotla/dotenv)を使用することができ、あなたのgulpfile.jsで

答えて

0

:ノードで

NODE_ENV=staging gulp some-command

あなたはprocess.env.NODE_ENVとしてこれを参照することができます。

ビルドに環境変数を渡すかどうかは、使用しているものによって異なります。 WebPACKのために

ここでは良い答えです:browserifyについてはPassing environment-dependent variables in webpack

あなたがで最も可能性が高いになります https://github.com/hughsk/envify

は、私は、スクリプトを起動時または.envで設定した環境変数と私のクライアント側のスクリプトをブートストラップそこからjsonをスクリプトタグでレンダリングすることでサーバーから送信します。ブラウザの拡張機能であり、サーバーなしで実行する必要があるため、ビルド時に注入する必要があるため、これはうまくいかない場合があります。

関連する問題