2021.03.17

Node.js

本番環境と開発環境の処理をgulp-modeで分岐

gulpでsassコンパイル時に、開発環境はoutputStyle: 'expanded'、本番環境はoutputStyle: 'compressed'で書き出します。まずgulp-modeをインストールします。

//gulp-modeのインストール
npm install gulp-mode

gulpfile.jsにgulp-modeの処理を追加します。gulp-modeの読み込み部分にproduction(本番環境)とdevelopment(開発環境)を定義します。デフォルトはdevelopmentです。verboseはgulp実行時にgulp-modeの詳細メッセージを表示できますがfalseで問題ありません。mode.productionで本番環境、mode.developmentで開発環境の処理が実行できます。

//gulpfile.js
const gulp = require('gulp');
const sass = require('gulp-sass');

const mode = require('gulp-mode') ({  //gulp-modeの読み込み
  modes: ["production", "development"],
  default: "development",
  verbose: false
});

function styles() {
  return gulp
    .src('./src/scss/**/*.scss')
    .pipe(mode.development(  //開発環境の実行
      sass({
        outputStyle: 'expanded'
      })
    ))
    .pipe(mode.production(  //本番環境の実行
      sass({
        outputStyle: 'compressed'
      })
    ))
    .pipe(
      gulp
        .dest('../assets/css')
    );
}

gulp.task('default', styles);

gulp-sassの実行が本番環境と開発環境に分岐できました。試しに本番環境用のgulpを実行すると、sassがoutputStyle: 'compressed'でコンパイルされます。

//本番環境用のgulp実行
npx gulp --production

開発環境用はデフォルトの設定になっているためオプションを指定せずにgulpを実行します。sassがoutputStyle: 'expanded'でコンパイルされます。

//開発環境用のgulp実行
npx gulp

関連記事

2021.01.10

Node.js

npxでgulpを実行

npmはNode.jsインストール時に付属するパッケージ管理マネージャで、Node.jsのパッケージの管理や実行を取り扱うものです。Node.jsをインストール…

2021.10.10

Node.js

gulpでbrowser-syncを実行

gulpにbrowser-syncを組み込んで、gulp起動時にブラウザが立ち上がるようにします。以下のコマンドでbrowser-syncをインストールします。…

2021.01.16

Node.js

npm updateでパッケージのバージョンを更新

npm updateでパッケージのバージョンを更新します。更新を確認するためにまず、jqueryの古いバージョンである2.2.0をインストールします。 実行が完…

2021.02.07

Node.js

gulp-scss-lintの動作要件

gulp-scss-lint実行時に以下のようなエラーが発生する場合があります。これはgulp-scss-lintがインストールされているにもかかわらず、scs…

2021.01.12

Node.js

gulp 4.0で導入されたseriesとparallelについて

gulp4.0から新しくseriesとparallelが導入され、タスクの処理の順番を制御できるようになりました。 seriesは直列に処理を実行する同期処理で…

上に戻る