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を押せば終了できます。


Post Snippetsを使ってWordPressでショートコードをの登録と管理をもっと楽に!!
選択テキストをHTMLタグですぐ囲めるようになるVisual Studio Code拡張機能「htmltagwrap」
SourceTreeのカスタムアクションを使って差分ファイルだけをまとめる方法
Google Maps APIでピンのアクティブ時にピン画像を変える方法
gulp-plumberとgulp-notifyでgulpエラー時にデスクトップで通知がくるようにする
Visual Studio Codeのエクスプローラー上でファイル・フォルダの複製ができるようになる拡張機能「Duplicate action」
「EWWW Image Optimizer」を使ってWordPressをWebPに対応する方法
CSSだけで画像の比率を保ってトリミングできる「object-fit」
Visual Studio Codeで英単語のスペルチェックをしてくれる拡張機能「Code Spell Checker」
SourceTreeでBacklogのGitを使うときに、権限エラーになってしまう場合の解決法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう