Gulp-replace不能使用SCSS

时间:2015-04-08 16:17:17

标签: gulp

我试过

gulp.task('sass', function () {
  return gulp.src(['./scss/*.scss'])
        .pipe($.replace(/_VIEWPORT_WIDTH_/g,conf.project.viewport||640))
        .pipe($.sass({errLogToConsole: true}))
        .pipe(gulp.dest('./resources/css/'));
});

仍然无法正常工作。 SCSS工作后管道替换,但SCSS在此过程中无法进行数学运算。

gulp.task('sass', function () {
  return gulp.src(['./scss/*.scss'])
    .pipe($.sass({errLogToConsole: true}))
     .pipe($.replace(/_VIEWPORT_WIDTH_/g,conf.project.viewport||640))
    .pipe(gulp.dest('./resources/css/'));
});

有什么建议吗?我知道有一种丑陋的方式,但那太过咕噜

gulp.task('sass', function () {
  return gulp.src(['./scss/*.scss'],{buffer:true})
        .pipe($.replace(/_VIEWPORT_WIDTH_/g,conf.project.viewport||640))
        .pipe(gulp.dest('./tmp/scss/'))
        .pipe($.sass({errLogToConsole: true}))
        .pipe(gulp.dest('./resources/css/')).on('end',function(){
          del(['./tmp/scss/'], {force: true});
        });
});

1 个答案:

答案 0 :(得分:2)

这是因为最新版本的gulp-sass(可能还有以前的每个版本)都存在严重的错误/设计缺陷 - 它会丢弃管道中早期文件内容的更改。我在dlmanning/gulp-sass#158报告了这个问题,并且它应该在我认为的下一个主要版本(v2)中修复。

相关问题