sass scss/_bootstrap.scss style.css
上面的代码使用Sourcemaps可以正确生成,但是下面的代码则不能
gulp.task('sass', function () {
sass('scss/_bootstrap.scss', {sourcemap: true})
.on('error', function (err) {
console.error('Error!', err.message);
})
.pipe(sourcemaps.write())
.pipe(debug())
.pipe(autoprefixer())
.pipe(gulpif(mode === 'prod', minifyCss()))
.pipe(rename("style.css"))
.pipe(gulp.dest(dest+'css/'));
});
最佳答案
有两个问题:
Sass编译后,您有多个更改,但是您在Sass任务之后直接编写了源映射。 Autoprefixer和MinifyCSS会更改您的输出,因此原始的源映射不再适用。将sourcemaps.write()
调用置于管道底部
不幸的是,gulp-minify-css
有时与Sourcemaps有关。我建议使用Sass内置的压缩过程(即使通常不建议这样做)。
该代码将起作用:
gulp.task('sass', function () {
return sass('bower_components/sass-bootstrap/lib/bootstrap.scss', {
sourcemap: true,
style: (mod === 'prod' ? 'compressed' : 'nested')
})
.on('error', function (err) {
console.error('Error!', err.message);
})
.pipe(debug())
.pipe(autoprefixer())
.pipe(rename("style.css"))
.pipe(sourcemaps.write())
.pipe(gulp.dest('css/'));
});