跟随gulp流有一个bug,但是我找不到位置。

var processors = [autoprefixer({ browsers: ['last 2 version']}),
                  cssnano(),];

var myjob = gulp.src(['app/css/normalize.css',
                      'app/css/org.scss'])
        .pipe(watch('app/css/org.scss', {verbose: true}))
        .pipe(gulpif('*.scss', sass()))
        .pipe(concat('org.css'))
        .pipe(postcss(processors))
        .pipe(flatten())
        .pipe(gulp.dest('dist'));


问题:dist/org.css未重新生成

这里一定有我想念的东西。

最佳答案

问题在于,除非gulp-concat不会从上游收到org.css事件,否则不会推送串联的end文件。由于gulp-watch从不发出end事件,因此gulp-concat只是无限期地挂起。

解决方案是将gulp-concat替换为gulp-continuous-concat

var continuousConcat = require('gulp-continuous-concat');

var processors = [autoprefixer({ browsers: ['last 2 version']}),
                  cssnano(),];

gulp.task('default', function() {
  return gulp.src(['app/css/normalize.css',
                   'app/css/org.scss'])
    .pipe(watch('app/css/org.scss', {verbose: true}))
    .pipe(gulpif('*.scss', sass()))
    .pipe(continuousConcat('org.css'))
    .pipe(postcss(processors))
    .pipe(flatten())
    .pipe(gulp.dest('dist'));
});

关于javascript - gulp流不会生成dest文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36334678/

10-11 23:29
查看更多