结合gulp-sourcemaps与gulp-csso和gulp-sass

时间:2017-10-19 17:09:53

标签: javascript node.js gulp gulp-sass gulp-sourcemaps

我正试图让gulpfile.js的这部分工作:

gulp.task('compileSass', function() {
    return gulp.src(folders.src+'/scss/*scss')
    .pipe(sass())
    .pipe(gulp.dest(folders.dest+'/css'));
});

gulp.task('minifyStyles', ['compileSass'], function() {
    return gulp.src(folders.dest+'/css/style.css')
    .pipe(maps.init())
    .pipe(minCss({
        sourceMap: true
    }))
    .pipe(maps.write('./'))
    .pipe(rename('style.min.css'))
    .pipe(gulp.dest(folders.dest+'/css'));
});

我想开发工具来显示.scss个文件。我不确定它是否与rename()有关,或者我是否在错误的时间调用我的源图,但是当我检查开发工具时,源始终是style.min.css

1 个答案:

答案 0 :(得分:0)

我没有看到你的sass任务的初始映射。您需要调用两次,并根据docs正确设置loadMaps。请尝试以下方法......

gulp.task('compileSass', function() {
  return gulp.src(folders.src+'/scss/*scss')
  .pipe(maps.init()) /* `init` here */
  .pipe(sass())
  .pipe(gulp.dest(folders.dest+'/css'));
});

gulp.task('minifyStyles', ['compileSass'], function() {
  return gulp.src(folders.dest+'/css/style.css')
  .pipe(maps.init({
    loadMaps: true /* `init` again, load prior from sass */
  }))
  .pipe(minCss({
    sourceMap: true
  }))
  .pipe(maps.write('./'))
  .pipe(rename('style.min.css'))
  .pipe(gulp.dest(folders.dest+'/css'));
});