3
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
3
Help us understand the problem. What are the problem?