gulpで独自の処理をいれたい時がありますよね。
そんな時の覚書。
#through2
https://qiita.com/morou/items/1297d5dd379ef013d46c
上記記事がとてもわかりやすく書いてありました!
これを参考にプラグインは作成できましたが、そんな大層なものは不要なときはthrough2を使って記述しましょう。
gulpfile.js
const through = require('through2');
gulp.task('deploy', (cb) => {
gulp.src(['src/**'], { base: '.' })
.pipe(through.obj((file, enc, callback) => {
if (file.isNull()) {
// 何もしない
return callback(null, file);
}
if (file.isStream()) {
// ストリームの場合はエラー
this.emit('error', new Error('Streams not supported!'));
}else if (file.isBuffer()) {
// ファイルの内容をcontentsに読み込み
let contents = String(file.contents);
// 独自の処理を記述する
// ・・・
return callback(null, file);
}
}));
});
このようにthrough.objを使用すれば処理が記述できます!