2
Reactでwebpackを使用してコンポーネントを開発し、debployパッケージを作成しました。コンポーネントはAPIエンドポイントと通信します。開発、テスト、生産にはそれぞれ異なるエンドポイントがあります。ビルド中にどのように/基本パスを設定するのですか?webpackで残りのapiの基本パスを設定する方法
Reactでwebpackを使用してコンポーネントを開発し、debployパッケージを作成しました。コンポーネントはAPIエンドポイントと通信します。開発、テスト、生産にはそれぞれ異なるエンドポイントがあります。ビルド中にどのように/基本パスを設定するのですか?webpackで残りのapiの基本パスを設定する方法
可能な解決策の一つ:
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.js
、development.js
とtest.js
ファイルをenvironments
フォルダを持っていると仮定すると:、
export default {
apiEndpoint: '...',
// other params
};
グレート答え、ありがとう!クイックノート - 'require( '...')と' export default {...} 'を使って 'default'キーを生成します。 'envParams.default'これが意図的なものかどうかはわかりません。私の好みは 'default'キーではないので、私の小さな変更は' export default {...} 'ではなく' module.exports = {...} 'でした。 – aguynamedloren