個別にファイルを指定しなくても、一括ビルド出来るようにしたかったのですが、結構前にハマって試行錯誤していたので。
Gulp + Browserify + Babelify + React で ES6 を使うことを想定してます。
var gulp = require('gulp'), plumber = require('gulp-plumber'), watch = require('gulp-watch'), babelify = require('babelify'), browserify = require('browserify'), through2 = require('through2'); // ES6 gulp.task('browserify', function() { var destPath = './public/js/'; gulp.src('./src/es6/**/app.js') .pipe(plumber()) .pipe(through2.obj(function(file, encode, callback) { browserify(file.path, { debug: false }).transform(babelify, { presets: ['es2015', 'react'] }).bundle(function(err, res) { if (err) { return callback(err); } file.contents = res; callback(null, file); }).on("error", function (err) { console.log("Error : " + err.message); }); })) .pipe(gulp.dest(destPath)); }); // Watch gulp.task('watch', function() { watch('./src/es6/**/*.js', function() { gulp.start('browserify'); }); }); // Run gulp.task('default', ['watch']);
これでエラーが出てもエラー箇所が分かって Gulp も停止しなくなったー。