Gulp - 合并媒体查询时减少源映射

Gulp - Sourcemapping less while combining media queries

在这个项目中,我利用 "Gulp" 完成一些任务,但最近收到了添加源映射的请求..

我有 sourcemap 工作,但它似乎与 'gulp-combine-mq'"gulp-combine-media-queries" aka "cmq"[ 等其他插件有冲突=36=]

当 运行 我的带有 "cmq" 的样式任务被注释掉时,我的 sourcemap 完全符合我的预期

gulp.task('styles', function () {
  gulp.src('./assets/src/less/main.less')
    .pipe(sourcemaps.init())
    .pipe(less().on('error', gutil.log))
    //.pipe(cmqs().on('error', gutil.log))
    .pipe(rename({suffix: '.min'}))
    .pipe(minifycss())
    .pipe(sourcemaps.write())
    .pipe(gulp.dest('./assets/css'));
});

当我尝试使用 "cmq" 时,它弄乱了映射

有没有其他人在使用 gulp、less、combine-media-queries 或 combine-mq 时遇到过这个问题?

有人对如何解决这个问题有建议吗?

  • 提前致谢

您应该考虑使用 gulp-minify-css for your minify task (if you not already do) because of gulp-minify-css passes its options are directly passed to clean-css

clean-css 现在支持媒体查询合并,参见:https://github.com/jakubpawlowicz/clean-css/commit/6ed784a4aae91e5d7f48cf189c24095dfb8062cd