だから私はいくつかのことをしようとして次の操作を行って、上記を解決しました: -
当社のWebPACKの設定では、DefinePluginを追加します。以下は、私のWebConfigです: -
plugins: [
new BundleTracker({filename: './webpack-stats.json'}),
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify(process.env.environment),
}
})
],
今、私たちは、以下のコマンドを使用コンパイル中: - あなたは「NODE_ENV」の生産があるときに我々はそうCLI入力して「NODE_ENV」を設定見れば今
environment=local webpack (for local)
environment=development webpack(for dev)
environment=production webpack(for prod)
を値として、webpackは出力バンドルを自動的に縮小します。
ここで、私はAPIのURLを(私はConstants.jsxを持っていた)ファイルで宣言しているので、constants.jsxに以下を追加します。このConstants.jsxのwebpack configで設定されたNODE_ENVを読み込み、ここからエクスポートしてAPISが呼び出される場所からコンポーネントをインポートすることができます。
const api_url=function(){
let api_url='';
if(process.env.NODE_ENV == 'local'){
api_url= 'http://localhost:8002/api/v0';
}
else if(process.env.NODE_ENV == 'development'){
api_url = 'https://development/api/v0';
}
else if(process.env.NODE_ENV == 'production'){
api_url = 'https://production/api/v0';
}
return api_url;
}
export const url= api_url();
はwebpack.config.jsに変数を渡す方法についてはhttp://stackoverflow.com/questions/30030031/passing-environment-dependent-variables-in-webpackを参照してください。 –