2016-03-19 8 views
2

Reactでwebpackを使用してコンポーネントを開発し、debployパッケージを作成しました。コンポーネントはAPIエンドポイントと通信します。開発、テスト、生産にはそれぞれ異なるエンドポイントがあります。ビルド中にどのように/基本パスを設定するのですか?webpackで残りのapiの基本パスを設定する方法

答えて

3

可能な解決策の一つ:

1)(例は、Windowsでのみ有効です)のWebPACKにENVを渡します

set "ENV=production" && webpack --progress --colors 

2)あなたのアプリでDefinePlugin ENV変数を定義します(または、あなたは単に定義することができますここではエンドポイント):

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

3)次に、あなたのアプリ内のenvパラメータを使用してJSファイルが必要です。

let envParams = require('environments/' + ENV); 

あなたがのparamsとproduction.jsdevelopment.jstest.jsファイルをenvironmentsフォルダを持っていると仮定すると:、

export default { 
    apiEndpoint: '...', 
    // other params 
}; 
+2

グレート答え、ありがとう!クイックノート - 'require( '...')と' export default {...} 'を使って 'default'キーを生成します。 'envParams.default'これが意図的なものかどうかはわかりません。私の好みは 'default'キーではないので、私の小さな変更は' export default {...} 'ではなく' module.exports = {...} 'でした。 – aguynamedloren

関連する問題