我有一个使用自定义 LESS 样式表的站点,它们包括 Bootstrap LESS 样式表。它全部编译成style.css
带有源映射的最终文件style.css.map
。
这就是我的 Gulpfile 的样子:
var gulp = require('gulp');
var less = require('gulp-less-sourcemap');
var mySite = '.';
gulp.task('less', function () {
gulp.src(mySite + '/css/**.less')
.pipe(less())
.pipe(gulp.dest(mySite + '/css'));
});
现在我想添加autoprefixer。这是我尝试过的,但它不起作用:
var gulp = require('gulp');
var less = require('gulp-less-sourcemap');
var postcss = require('gulp-postcss');
var autoprefixer = require('autoprefixer-core');
var mySite = '.';
gulp.task('less', function () {
gulp.src(mySite + '/css/**.less')
.pipe(less())
.pipe(postcss([autoprefixer({ browsers: ['last 2 version'] })]))
.pipe(gulp.dest(mySite + '/css'));
});
这是因为我正在将生成的源映射输入postcss
其中,它无法处理它。所以我试过这个:
var gulp = require('gulp');
var less = require('gulp-less-sourcemap');
var postcss = require('gulp-postcss');
var autoprefixer = require('autoprefixer-core');
var mySite = '.';
gulp.task('less', function () {
gulp.src(mySite + '/css/**.less')
.pipe(less())
.pipe(postcss([autoprefixer({ browsers: ['last 2 version'] })]))
.pipe(gulp.dest(mySite + '/css'));
gulp.src(mySite + '/css/**.css')
.pipe(postcss([autoprefixer({ browsers: ['last 2 version'] })]))
.pipe(gulp.dest(mySite + '/css'));
});
但是,仍然没有添加前缀。也许是因为 Bootstrap 的 CSS 已经加了前缀,这在某种程度上是个问题postcss
?
如何使这项工作?