タカフです。
今日も小ネタです。
gulpって色々な事が出来て大変便利なのですが、その便利な中でも独自の処理を入れたいことがあります。
例えばgulp生成された文字列に対してさらに少し変更を加えたい時等。
しかしタスクランナーとしてgulpで記述されているならばgulpのお作法に従って記述してやる必要があります。
そんな時は以下のようにpipeコードでつなげてthrough2というのを使って取得バッファに対して変更処理を入れます。
gulpfile.js
// 冒頭でthrough2のrequireしてください
const through2 = require('through2');
.pipe(through2.obj((file, enc, callback) => {
if (file.isBuffer()) {
// ファイルの内容をcontentsに文字列として読み込み
let contents = String(file.contents);
// ここで取得した文字列に対して独自の処理を記述する
contents += "\n by takafumi."; // 最後に文字列を付与するとか
// new Buffer()をしないとエラーになります
file.contents = new Buffer(contents);
}
// through2の第三引数のcallbackに返却してやります
callback(null, file);
}))
gulpで生成された文字列に変更をかけたいならこのコードで煮るなり焼くなり自由です!
現場からは以上です。