Edited at

gulpでの独自の関数を実行する

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を使用すれば処理が記述できます!