1

吞咽文件:

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 中。我仍然不确定该怎么做。

4

0 回答 0