如果发现任何错误,Gulp watch会在两者之间崩溃
我正在编写一个gulp任务来浏览,将我的less文件编译成css,并运行一个gulpwebserver。在客户端,我使用React 0.14。一旦在browserify中发现任何错误,我的gulp手表就会崩溃。每次我都必须停止监视任务并再次运行它。如何避免这种情况?我的意思是,如果发现错误并修复了错误,我如何再次运行browserify任务而不使手表崩溃。如果我在browserify中遇到一个错误,比如:关闭JSX标记丢失……一旦我修复了错误,如何阻止我的手表崩溃如果发现任何错误,Gulp watch会在两者之间崩溃,gulp,gulp-watch,Gulp,Gulp Watch,我正在编写一个gulp任务来浏览,将我的less文件编译成css,并运行一个gulpwebserver。在客户端,我使用React 0.14。一旦在browserify中发现任何错误,我的gulp手表就会崩溃。每次我都必须停止监视任务并再次运行它。如何避免这种情况?我的意思是,如果发现错误并修复了错误,我如何再次运行browserify任务而不使手表崩溃。如果我在browserify中遇到一个错误,比如:关闭JSX标记丢失……一旦我修复了错误,如何阻止我的手表崩溃 var gulp
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')
})
在错误处理方法中添加以下内容:
this.emit('end')
您确定吗?这是我的一个gulp文件,它工作得很好:(看看reundle函数)是的。。。一旦出现错误,我必须重新运行任务