Browserify 错误结束 gulp 监视任务
Browserify errors ending gulp watch task
我的 gulpfile.js 中有以下设置:
gulp.task('browserify', function() {
browserify(config.paths.browserifyEntry)
.transform(reactify)
.bundle()
.pipe(source('master.js'))
.pipe(gulp.dest(config.paths.dist))
//.pipe(connect.reload());
});
gulp.task('watch', function () {
gulp.watch(config.paths.components, ['browserify']);
gulp.watch(config.paths.sassSource, ['sass']);
});
在我编写导致 browserify 错误的代码之前,这一切都完美无缺。这种情况经常发生,因为我正在编辑一个文件中的代码,该文件依赖于我尚未在另一个文件中进行的更改,browserify 错误。
问题是,当 browserify 出错时,它会结束监视任务。我希望当 browserify 出错时,它根本没有完成它的任务,但手表会继续,这样当我进行其他允许 browserify 成功 运行 的更改时,它就会这样做。当您的代码处于错误状态时,进行更改然后重新加载浏览器并发现它不起作用只是发现由于 browserify 错误导致 watch 进程结束是有问题的。
有没有办法吞下那个错误,这样它就不会停止监视进程?或者是否有另一个 npm 包可以监视文件并且不会被 browserify 错误绊倒?
如果您不处理 error
事件,流将抛出。您可以直接处理事件:
gulp.task('browserify', function() {
browserify(config.paths.browserifyEntry)
.transform(reactify)
.bundle()
.on('error', console.error.bind(console))
.pipe(source('master.js'))
.pipe(gulp.dest(config.paths.dist));
});
或者您可以在错误抛出后捕获错误:
process.on('uncaughtException', console.error.bind(console));
对于 Browserify 流,您需要在错误处理程序中调用 emit
:
gulp.task('browserify', function() {
browserify(config.paths.browserifyEntry)
.transform(reactify)
.bundle()
.on('error', function (error) {
console.error(error.toString())
this.emit('end')
})
.pipe(source('master.js'))
.pipe(gulp.dest(config.paths.dist));
});
我的 gulpfile.js 中有以下设置:
gulp.task('browserify', function() {
browserify(config.paths.browserifyEntry)
.transform(reactify)
.bundle()
.pipe(source('master.js'))
.pipe(gulp.dest(config.paths.dist))
//.pipe(connect.reload());
});
gulp.task('watch', function () {
gulp.watch(config.paths.components, ['browserify']);
gulp.watch(config.paths.sassSource, ['sass']);
});
在我编写导致 browserify 错误的代码之前,这一切都完美无缺。这种情况经常发生,因为我正在编辑一个文件中的代码,该文件依赖于我尚未在另一个文件中进行的更改,browserify 错误。
问题是,当 browserify 出错时,它会结束监视任务。我希望当 browserify 出错时,它根本没有完成它的任务,但手表会继续,这样当我进行其他允许 browserify 成功 运行 的更改时,它就会这样做。当您的代码处于错误状态时,进行更改然后重新加载浏览器并发现它不起作用只是发现由于 browserify 错误导致 watch 进程结束是有问题的。
有没有办法吞下那个错误,这样它就不会停止监视进程?或者是否有另一个 npm 包可以监视文件并且不会被 browserify 错误绊倒?
如果您不处理 error
事件,流将抛出。您可以直接处理事件:
gulp.task('browserify', function() {
browserify(config.paths.browserifyEntry)
.transform(reactify)
.bundle()
.on('error', console.error.bind(console))
.pipe(source('master.js'))
.pipe(gulp.dest(config.paths.dist));
});
或者您可以在错误抛出后捕获错误:
process.on('uncaughtException', console.error.bind(console));
对于 Browserify 流,您需要在错误处理程序中调用 emit
:
gulp.task('browserify', function() {
browserify(config.paths.browserifyEntry)
.transform(reactify)
.bundle()
.on('error', function (error) {
console.error(error.toString())
this.emit('end')
})
.pipe(source('master.js'))
.pipe(gulp.dest(config.paths.dist));
});