压缩Sass并包含gulp的源图?

时间:2016-09-28 08:09:41

标签: javascript sass gulp gulp-sass gulp-sourcemaps

是否可以压缩sass并在结果中包含源图?如果我添加.pipe(cssnano()),则会删除源图:

sass: function(sassFilename, basename) {
    return gulp.src(paths.sass + sassFilename)
        .pipe(sourcemaps.init({loadMaps: true}))
        .pipe(sass().on('error', sass.logError))
        .pipe(sourcemaps.write())
        .pipe(cssnano())
        .pipe(rename({ basename:basename, suffix: '.min' }))
        .pipe(gulp.dest(paths.buildCss));
}

1 个答案:

答案 0 :(得分:1)

sourcemaps.init()sourcemaps.write()来电需要“预订”您的信息流中的所有其他.pipe()阶段。 sourcemaps.init()sourcemaps.write()之间未发生的任何事情都不会记录在您的源图中(或者甚至可能会删除它们,就像您的情况一样)。

这意味着您需要在sourcemaps.write()之后将rename()来电转移到该行:

sass: function(sassFilename, basename) {
  return gulp.src(paths.sass + sassFilename)
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(sass().on('error', sass.logError))
    .pipe(cssnano())
    .pipe(rename({ basename:basename, suffix: '.min' }))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest(paths.buildCss));
}