モジュールを browserify にバンドルするための gulp タスクを作成し、watchify を使用して変更を監視しています。これがwatchifyの私のgulpタスクです:
gulp.task('watch:browserify', function () {
var opts = assign({}, watchify.args, {
entries: ['./js/app.js'],
debug: true,
basedir: './app/',
paths: ['./lib']
});
var b = watchify(browserify(opts));
b.on('update', function () {
bundle();
});
function bundle() {
gutil.log(gutil.colors.blue("Starting Browserify..."));
var time = Date.now();
return b.bundle()
.on('error', gutil.log.bind(gutil, gutil.colors.red('Browserify Error')))
.pipe(source('bundle.js'))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('app'))
.on('end', function () {
var duration = Date.now() - time;
gutil.log(gutil.colors.blue('Finished Browserify') + " (%dms)", duration);
})
}
bundle();
});
メインの js ファイル (./js/app.js) を編集すると、変更が常に検出されます。しかし、メインファイルに必要な他のファイルを編集すると、ほぼ毎回 (常にではありませんが) 変更が検出されます。ここで何か間違ったことをしていますか?
ここに完全な Github リポジトリがあります。