zukucode
主にWEB関連の情報を技術メモとして発信しています。

webpackの設定を開発環境と本番環境で変更する

webpack.config.jsで本番環境でのビルドのみコードを圧縮するなどの処理を設定したい場合があります。

webpackの設定を開発環境と本番環境で変更する方法を紹介します。

パッケージのインストール

cross-envというパッケージをインストールします。

$ npm install --save-dev cross-env

scriptsの修正

package.jsonscriptscross-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ファイルでも参照できます。


関連記事

  • vueファイル(単一ファイルコンポーネント)をwebpackでビルド

    vueファイル(単一ファイルコンポーネント)をwebpackでビルドする手順を紹介します。バージョンは、Vue.jsは2.x、webpackは2.xです。わかりやすくするため、空のプロジェクトから出来...


  • Vue.js lessで外部のlessファイルをImportする

    メインカラーなどの共通情報は外部のlessファイルに記載し、各vueファイルではそのlessファイルをImportして実装するのが効率的です。.vueファイル内のlessで外部のlessファイルをIm...


  • webpack モジュールのパスを絶対パスで指定する方法

    自分で作成したモジュールをインポートするときはインポートするファイルを基準に相対パスで指定する必要があります。フォルダ構成によっては深く階層を辿らないといけないので、フォルダ構成が変わってしまうと大変...


  • Linuxでファイルの監視(watch)が動作しないときの対処法

    Linuxでファイルの監視(watch)が動作しないときの対処法です。Electronやwebpack-dev-serverの設定が悪いのかと思って1日以上時間を費やしてしまいましたが、Linuxの設...


  • Vue.js lessを使いwebpackでビルドする

    .vueファイル(単一ファイルコンポーネント)のstyleをcssではなくlessで実装して、webpackでビルドをします。vue-loaderのオプションにlessのloaderを追加します。


  • Vue.js webpackでHot Module Replacementを行う

    開発を効率化するために、Hot Module Replacement(HMR)の設定を行います。Hot Module Replacementを設定しておけば、ブラウザの再読込は行わず、修正した箇所のみ...


  • Electronとwebpackでfsモジュールを扱う

    Electronでデスクトップアプリを開発時、JavaScriptでfsモジュールをimportしてwebpackを使ってビルドするとエラーになってしまいます。Electronで開発するときはwebp...


  • ExtractTextPluginでcssファイルを出力する

    webpackのプラグインExtractTextPluginを使って、ビルドされたjsファイルからstyleの部分を抽出してcssファイルで出力します。extract-text-webpack-plu...


  • webpack postcssを導入する

    webpackでpostcssを導入してautoprefixerなどを行います。postcss-loaderはwebpackでpostcssを行うために必要です。postcssの設定ファイルを作成しま...


  • webpackの設定を開発環境と本番環境で変更する

    webpack.config.jsで本番環境でのビルドのみコードを圧縮するなどの処理を設定したい場合があります。webpackの設定を開発環境と本番環境で変更する方法を紹介します。cross-envと...