webpackの設定を開発環境と本番環境で変更する
webpack.config.js
で本番環境でのビルドのみコードを圧縮するなどの処理を設定したい場合があります。
webpack
の設定を開発環境と本番環境で変更する方法を紹介します。
パッケージのインストール
cross-env
というパッケージをインストールします。
$ npm install --save-dev cross-env
scriptsの修正
package.json
のscripts
にcross-env
の設定を追加します。
package.json
"scripts": {
"devbuild": "cross-env NODE_ENV=development webpack",
"prodbuild": "cross-env NODE_ENV=production webpack"
}
webpack.config.jsの修正
NODE_ENV=XXX
と指定するとprocess.env.NODE_ENV
の値にXXX
が設定されます。
webpack.config.js
if (process.env.NODE_ENV === 'production') {
// prodbuildコマンドで実行した場合の処理
}
cross-env
で設定した値はwebpack.config.js
だけでなくビルド対象のjs
ファイルでも参照できます。