Gulp任务运行一次,执行两次

时间:2016-03-17 11:39:13

标签: javascript npm gulp gulp-watch gulp-notify

我使用Gulp来编写手写笔,但是任务似乎运行了两次,导致gulp-notify行程。

这是我的gulpfile.js

var gulp, plugins;

gulp = require('gulp');
plugins = require('gulp-load-plugins')();


/**
 * Watch for changes on stylus files, when detecting change run stylus task
 * @return {void}
 */
gulp.task('watch-stylus', function() {
  gulp.src('./app/Resources/stylus/**/*.styl')
      .pipe(plugins.plumber())
      .pipe(plugins.watch('./app/Resources/stylus/**/*.styl', {
        verbose: true,
        readDelay: 0
      }))
      .pipe(plugins.exec('gulp stylus'))
      .pipe(plugins.notify("Stylus compiled"))
      .pipe(plugins.plumber.stop());
});

/**
 * Compile stylus and auto prefix the compiled css
 * @return {void}   
 */
gulp.task('stylus', function() {
  gulp.src(['./app/Resources/stylus/**/*.styl', '!./app/Resources/stylus/**/_*.styl'])
    .pipe(plugins.plumber())
    .pipe(plugins.stylus())
    .pipe(plugins.autoprefixer({
        browsers: ['last 2 versions'],
        cascade: false
      }))
    .pipe(plugins.plumber.stop())
    .pipe(gulp.dest('web/css'));
});

我已检查的内容

  • 没有多重休息。
  • 输入和输出目录不同。

图片: One file change

我使用的插件

  • gulp-load-plugins加载插件
  • gulp-watch要关注文件更改
  • gulp-notify通知手写笔已编译
  • gulp-stylus编译手写笔
  • gulp-exec即使编辑了部分
  • 也要运行编译任务
  • gulp-autoprefixer前缀为css
  • gulp-plumber因此gulp-watch不会因错误而死亡

0 个答案:

没有答案