【发布时间】:2016-01-21 05:33:18
【问题描述】:
我正在编写一个 gulp 任务来浏览化,将我的 less 文件编译成 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')
})
【问题讨论】:
标签: gulp gulp-watch