我正在编写一个gulp任务来浏览,将较少的文件编译成css并运行gulp-webserver。在客户端,我使用React 0.14。在browserify中发现任何错误的那一刻,我的gulp手表崩溃了。每次我必须停止监视任务并再次运行它。怎么避免这个?我的意思是如果发现错误,如果我修复错误,我怎么能再次运行browserify任务而不会让我的手表崩溃。如果我在browserify中遇到错误,例如:关闭的JSX标签丢失......一旦我修复错误,如何阻止我的手表崩溃。
var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require("babelify");
var source = require('vinyl-source-stream');
var plugins = require('gulp-load-plugins')();
var runSequence = require('run-sequence');
var watchLess = require('gulp-watch-less');
var domain = require("domain");
gulp.task('webserver', function(){
gulp.src('./')
.pipe(plugins.webserver({
fallback : 'index.html',
host : 'localhost',
livereload : {
enable : true
},
open : true
}))
})
gulp.task('browserify', function(){
console.log('Browserifying ...');
return browserify({
entries : ['./js/index.js'],
debug : true
})
.transform('babelify', {presets: ['es2015', 'react']})
.bundle()
.on('error', function(err) {
console.log('Error:', err);
})
.pipe(source('bundle.js'))
.pipe(gulp.dest('./'))
})
gulp.task('build-css', function(){
return gulp.src('./less/**/*.less')
.pipe(plugins.less())
.pipe(gulp.dest('./css'))
})
gulp.task('build', function() {
runSequence(
['build-css'], ['browserify'], ['webserver'], ['watch']
);
});
gulp.task('watch', function(){
gulp.watch('./js/*.js',['browserify'])
gulp.watch('./less/**/*.less',['build-css'])
gulp.watch('./css/**/*.css')
})
答案 0 :(得分:0)
在错误处理方法中添加:
this.emit('end')