Gulp-cssmin防止内联源图工作

时间:2017-01-25 18:48:52

标签: gulp gulp-sourcemaps

我有一个使用gulp-cssmin缩小我的CSS的Gulpfile,我也尝试使用gulp-sourcemaps获取内联源图(请参阅下面的代码)。没有通过Cssmin管道,我的内联源图完全可以工作。但是当我尝试通过Cssmin在我的“sass”结束时管道一切。任务,我的内联源图停止工作。

// Compile SASS to CSS, add vendor prefixes, write sourcemaps, then minify

gulp.task('sass', function(){
   return gulp.src([paths.sass, '!./_styles/_sass/_partials/**/*.scss'])
   .pipe(sourcemaps.init())
   .pipe(sass().on('error', sass.logError))
   .pipe(autoprefixer(autoprefixerOptions))
   .pipe(sourcemaps.write())
   .pipe(cssmin())
   .pipe(gulp.dest('./_styles'));
});

任何人对我在这里失踪的东西都有任何想法?或者,如果我的订单错误?内联源图仍然适用于缩小的CSS吗?或者它是专门用gulp-cssmin的东西?

我无法在Stack Overflow上找到以前的答案专门处理与gulp-cssmin相关的源图,所以请指教!

感谢。

1 个答案:

答案 0 :(得分:1)

我假设你正在使用https://www.npmjs.com/package/gulp-cssmin

gulp-cssmin使用https://www.npmjs.com/package/clean-css来清理css,因此clean-css的选项适用。但是,由于传递给cssmin的css已包含源映射,因此需要将其转发到clean-css,但这显然不会发生:

因此,目前似乎无法配置gulp-cssmin来更新源地图。

我添加了问题https://github.com/chilijung/gulp-cssmin/issues/22,要求添加缺少的功能。

<强>更新

我发现https://www.npmjs.com/package/gulp-clean-css在幕后也使用了clean-css并支持源地图!

您需要将代码更新为:

var cleanCSS = require('gulp-clean-css');

gulp.task('sass', function(){
   return gulp.src([paths.sass, '!./_styles/_sass/_partials/**/*.scss'])
   .pipe(sourcemaps.init())
   .pipe(sass().on('error', sass.logError))
   .pipe(autoprefixer(autoprefixerOptions))
   .pipe(cleanCSS())
   .pipe(sourcemaps.write())
   .pipe(gulp.dest('./_styles'));
});

即。在cleanCSS()之前移动sourcemaps.write()

一般来说,这里有一个很好的支持源地图的gulp插件列表:https://github.com/floridoo/gulp-sourcemaps/wiki/Plugins-with-gulp-sourcemaps-support

相关问题