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


MAMPでローカル開発環境にWordPressをインストールする手順
Visual Studio Codeで英単語のスペルチェックをしてくれる拡張機能「Code Spell Checker」
SourceTreeの外部Diff / MergeツールをKaleidoscopeに設定する
CSSの読み込みで「its MIME type (‘text/html’) is not a supported stylesheet MIME type」エラーが表示されて読み込みができない場合の解決方法
全角スペースを可視化してくれるVisual Studio Codeの拡張機能「zenkaku」
WordPressで「予約投稿の失敗」となってしまう場合の対処方法
Visual Studio Codeのエクスプローラー上でファイル・フォルダの複製ができるようになる拡張機能「Duplicate action」
Bracket Pair ColorizerでVisual Studio Codeの括弧を色分けして見やすくする
Visual Studio CodeでMovable TypeのMTMLファイルを開く拡張機能「Movable Type Markup Language Syntax」
Visual Studio Codeで「.html」拡張子以外のファイルでもEmmetを使えるようにする
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1PasswordのWatchtowerを使って、脆弱なパスワードを管理する
Hazelを使って、ファイルダウンロードのタイミングでDownloadフォルダを自動で開くようにする
ATOKの文字パレットの「漢字検索」で特定の漢字を探し出す方法
選択テキストをHTMLタグですぐ囲めるようになるVisual Studio Code拡張機能「htmltagwrap」
HyperSwitchでアプリ・ウインドウ間の切り替えを素早く行う
テキストを画面いっぱいに表示できるAlfredのLarge Type機能の設定項目
SourceTreeを開くと「’git status’ failed with code 69:’」というポップアップが出てくる場合の解決方法
iPhoneでスクリーンショットを撮影するときにHEIC形式ではなくJPG形式で保存する方法
AlfredでURLをBit.lyで短縮URLにするWorkflow「Bit.ly URL Shorten」
HTMLが書ければすぐ習得できるテンプレートエンジン「EJS」の基本的な書き方