【问题标题】:Gulp watch crashes in between if any error is found如果发现任何错误,Gulp 手表会在两者之间崩溃
【发布时间】: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


    【解决方案1】:

    将此添加到您的错误处理方法中:

    this.emit('end')

    【讨论】:

    猜你喜欢
    • 2018-10-29
    • 2023-04-08
    • 2018-10-04
    • 1970-01-01
    • 2014-04-04
    • 2014-11-21
    • 2014-07-21
    • 2017-02-12
    • 2019-08-05
    相关资源
    最近更新 更多