2017-05-23 13 views
1

Webpackを使用してAngularプロジェクトを構築しています。実行時のAngular 2 Webpack環境設定

私がどのように見えるenv.jsファイルています

module.exports.ENV = { 
    API_URL: "http://localhost:5001/", 
    ... 
}; 

そして、私のwebpack.common.jsでは、私が持っている:私は、単一の私の環境変数を設定することができていますので

const API_URL = require('./env').ENV.API_URL; 
const METADATA = { 
    API_URL: API_URL, 
    title: "Angular Project", 
    ... 
}; 

これはいいですenv.jsファイル。ただし、この構成はビルド処理中です。これは悪いことです。私は一度だけビルドすることができず、環境ごとに(環境にはenv.jsがあるので)、環境ごとにプロジェクトの新しいインスタンスを構築する必要があります。これはベストプラクティスではないと思います。

私の質問は、実行時にAngular 2とWebpackで環境変数を設定できる方法はありますか?あなたは、コマンドを呼び出すことができます別のライブラリパッケージcross-envあり

const ENV = process.env.ENV = process.env.NODE_ENV = 'development'; 

:私は多くの場所でこれを使用しました

https://webpack.js.org/guides/environment-variables/

答えて

-1

のWebPACKは、使用してprocess.env.NODE_ENV推奨しています環境変数を設定し、同時にプロセスを実行することができます。

また、(DefinePlugin経由)あなたのWebPACKのプラグインから、ご使用の環境変数を定義することができます。

new webpack.DefinePlugin({ 
    'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development') 
}), 
関連する問題