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.11

Node.js

npm initによるpackage.jsonの作成とパッケージのインストール

プロジェクトを作成するディレクトリでnpm initを実行してpackage.jsonを作成します。対話形式で作成しますが何も入力せずEnterキーで進めていく…

2021.03.20

Node.js

gulp-postcssでautoprefixerを実行

gulp-postcssはgulp上でPostCSSが実行できます。PostCSSはポストプロセッサーとして、コンパイル後のCSSに対して整形等の後処理ができま…

2021.03.21

Node.js

gulp-postcssでpostcss-sortingを実行

gulp-postcssはgulp上でPostCSSが実行できます。postcss-sortingはPostCSSのプラグインで、CSSプロパティの記述順を並べ…

2022.07.10

Node.js

scss-lintのエラー回避方法

scssファイル内でscss-lintのエラーを回避します。以下はgridレイアウトで使用する「fr」が許可されていない単位としてエラーになるのを無効化していま…

2021.01.12

Node.js

npm lsでインストールされているパッケージの情報を表示

プロジェクトのディレクトリでnpm lsを実行するとインストールされているパッケージの情報を表示できます。lsコマンドはlistコマンドの短縮形です。 例えばプ…

上に戻る