0

Gulp を使用してスタイラスをコンパイルしていますが、タスクが 2 回実行されているよう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'));
});

確認したこと

  • 複数の宛先はありません。
  • 入力ディレクトリと出力ディレクトリが異なります。

画像: 1 つのファイル変更

私が使用しているプラ​​グイン

  • gulp-load-pluginsプラグインをロードするには
  • gulp-watchファイルの変更を監視する
  • gulp-notifyスタイラスがコンパイルされたことを通知する
  • gulp-stylusスタイラスをコンパイルする
  • gulp-execパーシャルが編集された場合でもコンパイルタスクを実行する
  • gulp-autoprefixercss にプレフィックスを付ける
  • gulp-plumberエラーで死ぬことgulp-watchはありません
4

0 に答える 0