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


Visual Studio CodeをMarkdownエディターとして使用する
SourceTreeを開くと「’git status’ failed with code 69:’」というポップアップが出てくる場合の解決方法
疑似クラスの:hoverと:activeのスマホでの挙動の違い
iTerm2で起動時に左上に表示される「Tip of the Day(今日のTip)」を非表示にする方法
iOS Safariで指定したフォントサイズにならない場合の対処法
Vue CLIでの画像パスの指定方法・配置場所まとめ
常時SSL化の設定をしたのに「保護された通信」が表示されない時はパスにHTTPが残っているのかも?
全角スペースを可視化してくれるVisual Studio Codeの拡張機能「zenkaku」
Visual Studio Codeの文字サイズやタブサイズの設定方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う