我正在尝试执行以下操作:
- 合并所有 CSS 文件(jQuery 插件)
- 合并媒体查询
- 缩小 CSS
- 编写 sourcemap
之后我尝试在不同的文件夹中做其他事情
- 少翻译
- 合并媒体查询
- 缩小生成的 CSS
- 编写 sourcemap
- 自动前缀的东西
看起来像这样:
gulp.task('styles', function() {
var streamCSS = gulp.src(sources.css)
.pipe(sourcemaps.init())
.pipe(concat('vendor.css'))
.pipe(cmq())
.pipe(minify({ keepSpecialComments: '*' }))
.pipe(sourcemaps.write());
var streamLESS = gulp.src(sources.less)
.pipe(plumber({ errorHandler: errorHandler }))
.pipe(sourcemaps.init())
.pipe(less())
.on('error', swallowError)
.pipe(cmq())
.pipe(minify({ keepSpecialComments: '*' }))
.pipe(sourcemaps.write())
.pipe(prefix("last 2 versions", "> 1%", "ios >= 6", { map: true }))
.on('error', swallowError);
return es.merge(streamCSS, streamLESS)
.pipe(plumber({ errorHandler: errorHandler }))
.pipe(concat('main.css'))
.pipe(gulp.dest(destinations.css))
.pipe(connect.reload());
});
我唯一的问题是生成的源映射是错误的,并且总是引用错误的 LESS 文件。
我使用以下库来实现这一点:
- 吞咽连接
- 少吞咽
- gulp-autoprefixer
- gulp-combine-media-queries
- gulp-sourcemaps
- gulp-minify-css
我知道如果我省略了供应商的东西,它会起作用,但我希望只有一个结果样式表。
感谢您的每一个建议!