压缩Sass并使用gulp包含源地图



是否可以压缩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));
}

sourcemaps.init()sourcemaps.write()调用需要在流中"book-end"所有其他.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));
}

相关内容

  • 没有找到相关文章

最新更新