Gulp4でlastRun()を使用して変更されたファイルのみがコンパイルされるように設定したいです。
以下ソースコードのように実際に書いてみましたが、
index.ejs等そのままdestされるファイルは思惑通り変更分のみコンパイルされますが、インポートでのみ扱うパーシャルファイルを変更しても読み込んでいるファイルがコンパイルされることはありませんでした。
達成したいこと
パーシャルではないファイルは、保存時に変更したファイルのみコンパイルされるようにし、パーシャルファイルを変更して保存した場合は全てのファイルがコンパイルされるようにしたい。
(欲を言えば本当は変更したパーシャルファイルを読み込んでいるファイルのみコンパイルしたい)
ソースコード(抜粋)
function html() { return gulp .src([paths.html.src,'!' + 'source/**/_*.ejs'], { since: gulp.lastRun(html) }) .pipe( plumber({ errorHandler: notify.onError('<%= error.message %>'), }), ) .pipe(ejs()) .pipe(rename({extname: '.html'})) .pipe(gulp.dest(paths.html.dest)) .pipe(browsersync.stream()); }
あなたの回答
tips
プレビュー