これは、Gulp.jsのプラグインです
gulp-lru-changedは変更のあったファイル以外をストリームからフィルタリングします
それにより、全体の処理を高速化します
既存のGulpプラグインでは、私のやりたかったことができなかったからです
npm i -D gulp-lru-changed
cacheKey Default: 'defaultKey'
gulp.srcからファイルのストリームを受け取り、cacheKeyとファイルパスからハッシュ値を取り出してストリームのファイルのハッシュ値と比較し、ハッシュ値が異なる場合にストリームに流します
ハッシュ値が存在しない場合、cacheKeyとファイルパスのキャッシュに新規にハッシュ値を登録します
init(glob,cacheKey)が呼び出されていない場合、一回目の処理はすべてのファイルをストリームに流します よって、init(glob,cacheKey)は、必ずしも呼び出す必要はありません
glob | cacheKey Default: 'defaultKey'
const gulp = require('gulp');
const plumber = require('gulp-plumber');
const chagned = require('gulp-lru-changed');
const pug = require('gulp-pug');
let src = ['pug/*.pug','!pug/includes/*'];
let cacheKey = 'pugs';
gulp.task('hoge',()=>{
gulp.src(src)
.pipe(plumber())
.pipe(changed(cacheKey))
.pipe(pug())
.pipe(gulp.dest('dist/'));
});
gulp.('init',()=>{
changed.init(src,cacheKey);
});
gulp.task('watch',['init'],()=>{
gulp.watch(src,'hoge');
});
MIT License Copyright 2018 eggnear eggnear@gmail.com