【发布时间】:2015-08-26 22:08:24
【问题描述】:
我创建了一个 gulp 任务,用于将模块与 browserify 捆绑在一起,并且我正在使用 watchify 来监视更改。这是我的 watchify 任务:
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),则始终会检测到更改。但是当我编辑主文件需要的其他一些文件时,大约每隔一次(但并非总是)检测到更改。我在这里做错了吗?
Here is the full Github repo 所以也许你明白我是如何计划这个工作的
【问题讨论】:
-
我也有同样的问题。它并不总是检测到“小”变化。我仍然按 Enter 3-5 次来创建一些新行。他总是会检测到它,当他重建我的应用程序时,我会删除这些行。我知道,这很尴尬,但它有效:D
-
@marcel 是的,我现在也这样做,但这真的很烦人
-
我已经尝试了您的 GitHub 项目 - 检测 app/js/... 中所有 javascript 文件的更改在我的机器上运行良好。 (也许你现在已经修好了?)
标签: javascript gulp browserify watchify