gulpのwatch機能を使って、監視ファイルに変更があった時にタスクを実行する

以前gulpのインストールと、Sassをコンパイルするための最低限の設定を行いました。
今回はそれに引き続き、ファイルを監視してSassが更新されたら自動でコンパイルするタスクを作成してみます。
やりたいこと
今回やりたい事としては下記の通り。
- .scssファイルが更新された時に、sassタスクを実行する
- タスク名はwatchとする
- デフォルトタスクにwatchタスクを登録する
デフォルトタスクにそのままファイルを監視する処理を書いてもいいのですが、今回はファイル監視を目的とするwatchタスクを作成して、それをデフォルトタスクでも読み込むようにしてみます。
タスクの作成
watchタスクの作成
昔はgulp-watchというプラグインを別途インストールして読み込む必要があったのですが、今はgulpに入っているため、インストールの必要はありません。
使い方は下記の通り。
gulp.watch('監視するファイル', 処理)実際にタスクを組み込む際は下記のようになります(少し冗長ですが)。
//プラグインの読み込み
const gulp = require('gulp');
const sass = require('gulp-sass');
//タスクの設定(定義)
//タスク1 - Sassのコンパイル
gulp.task('sass', () => {
return gulp.src('assets/scss/style.scss')
.pipe(sass({
outputStyle: 'compact' //通常の見た目にしたい場合はexpanded
}))
.pipe(gulp.dest('./'));
});
//タスク2 - ファイルを監視する(ファイルに変更があれば、タスク1を行う)
gulp.task('watch', () => {
gulp.watch('assets/scss/**/*.scss', gulp.series(['sass']));
});
//デフォルトタスクに、タスク2を設定
gulp.task('default', gulp.series(['watch'], () => {
}));これでgulpを動かすと、監視ファイルに変更があった際に、自動でタスクが実行されます。
終了したい時はターミナルでcontrol + Cを押せば終了できます。


gulpfile.jsにAutoprefixerのブラウザオプションを書くとエラーがでる場合の修正方法
Google Maps APIでピンの見た目をカスタマイズする方法
Backlogで2段階認証を設定後、SourceTreeでアカウントエラーが発生する場合の対処法
WordPressのメディアライブラリで画像を追加するときに表示される「HTTP エラー」の解消方法
Post Snippetsを使ってWordPressでショートコードをの登録と管理をもっと楽に!!
SourceTreeでBacklogのGitを使うときに、権限エラーになってしまう場合の解決法
Visual Studio Codeで複数ファイルを編集するときにタブやペインの操作方法
無料版を使っている人は検討する価値あり!MAMP PRO 5で簡単にローカル開発環境を構築・管理する
gitignoreで特定ファイルをGitで無視する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
webpackでTop-Level Awaitを使用して、一番上位でもawaitを使えるようにする方法
Visual Studio CodeでSVGをプレビューする拡張機能「SVG Preview」
【前編】もうライティングで困らない!説得型ランディングページとアフィリエイター活用で売り上げアップ【CSS Nite in Kobe】
Macの「コマンド」キーの表記は「command」と「Command」のどちらが正しいのか
Node.jsのバージョン管理をnodebrewからnodenvに移行する方法
Hazelを使って、最近使用していないアプリケーションやフォルダにラベルを貼って可視化する
URLを変更するときに必要なリダイレクトに関する基礎知識
ATOKで日本語を英単語に変換したいときはF4で変換する
Figmaで企業やサービスのブランドロゴやカラーをすぐ参照できるプラグイン「Brandfetch」
Keyboard MaestroのマクロをURLから発火する方法