gulp文件:
var gulp = require('gulp');
var postcss = require('gulp-postcss');
var autoprefixer = require('autoprefixer');
var cssnext = require('postcss-cssnext');
var precss = require('precss');
var csswring = require('csswring');
var concat = require('gulp-concat');
gulp.task('css', function () {
var processors = [
//autoprefixer('last 6 versions'),
cssnext({ browsers: ['last 6 versions'] }),
precss,
csswring
];
return gulp.src('./src/main.css')
.pipe(postcss(processors))
.pipe(concat('style.css'))
.pipe(gulp.dest('.'));
});
gulp.task('watch', function() {
gulp.watch('src/*.css', ['css']);
});
我遇到了使autoprefixer工作的问题。我正在对元素进行转换,但我看不到添加的供应商前缀。显然使用postcss-cssnext,autoprefixer应该包含在其中,所以我通过它传递了选项。我试过常规的autoprefixer,也没有运气。运行我的监视任务时,命令行中没有警告。
更新 通过将autoprefixer移动到最后,我使用与cssnext相同的语法使其工作。但是,如果我可以完全停止使用autoprefixer,我想它,因为它应该包含在cssnext中。我还不确定该怎么做。