我为使用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存储库,也许你可以完全理解我计划如何工作