gulp流不生成dest文件



下面的gullow流中有一个错误,但我就是找不到哪里。

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'));
});

最佳做法是使用glob根"./"作为路径前缀。即"./app/css/normalize.css"等。

尝试使用gulp-debug来查看管道中有多少文件(如果有的话)。您可以在每个步骤之间添加一个调试管道来查看发生了什么。

相关内容

  • 没有找到相关文章

最新更新