吞咽文件:
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 移到最后,我使用了与 cssnext 相同的语法使其工作。但是,如果我可以完全停止使用 autoprefixer,我会很高兴,因为无论如何它都应该包含在 cssnext 中。我仍然不确定该怎么做。