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