Css 自动换气器不工作
我就是不能让自动换气机工作。我用转换测试它,但是当我保存我的scss文件时,前缀不会显示在我的css文件中。其他一切似乎都很好 这是我的吞咽文件:Css 自动换气器不工作,css,sass,gulp,gulp-autoprefixer,Css,Sass,Gulp,Gulp Autoprefixer,我就是不能让自动换气机工作。我用转换测试它,但是当我保存我的scss文件时,前缀不会显示在我的css文件中。其他一切似乎都很好 这是我的吞咽文件: var gulp = require('gulp'), plumber = require('gulp-plumber'), rename = require('gulp-rename'), autoprefixer = require('gulp-autoprefixer'), imagemin = require(
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
rename = require('gulp-rename'),
autoprefixer = require('gulp-autoprefixer'),
imagemin = require('gulp-imagemin'),
cache = require('gulp-cache'),
sass = require('gulp-sass'),
browserSync = require('browser-sync');
gulp.task('browser-sync', function() {
browserSync({
server: {
baseDir: "./"
}
});
});
gulp.task('bs-reload', function () {
browserSync.reload();
});
gulp.task('images', function(){
gulp.src('build/images/**/*')
.pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
.pipe(gulp.dest('images/'));
});
gulp.task('styles', function(){
gulp.src(['scss/**/*.scss'])
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}}))
.pipe(sass())
.pipe(autoprefixer('last 2 versions'))
.pipe(gulp.dest('css/'))
.pipe(browserSync.reload({stream:true}))
});
gulp.task('default', ['browser-sync'], function(){
gulp.watch("scss/**/*.scss", ['styles']);
gulp.watch("*.html", ['bs-reload']);
});
谢谢大家的帮助
更新
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
rename = require('gulp-rename'),
autoprefixer = require('gulp-autoprefixer'),
imagemin = require('gulp-imagemin'),
cache = require('gulp-cache'),
sass = require('gulp-sass'),
browserSync = require('browser-sync');
gulp.task('browser-sync', function() {
browserSync({
server: {
baseDir: "./"
}
});
});
gulp.task('bs-reload', function () {
browserSync.reload();
});
gulp.task('images', function(){
gulp.src('build/images/**/*')
.pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
.pipe(gulp.dest('images/'));
});
gulp.task('styles', function(){
gulp.src(['scss/**/*.scss'])
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}}))
.pipe(sass())
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(gulp.dest('css/'))
.pipe(browserSync.reload({stream:true}))
});
gulp.task('default', ['browser-sync'], function(){
gulp.watch("scss/**/*.scss", ['styles']);
gulp.watch("*.html", ['bs-reload']);
});
根据,实现与您拥有的略有不同:
const gulp = require('gulp');
const autoprefixer = require('gulp-autoprefixer');
gulp.task('default', () =>
gulp.src('src/app.css')
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(gulp.dest('dist'))
);
它现在专门将包含浏览器的对象作为数组传递
这可能取决于您正在使用的版本,因为我有一些GulpFile,它们使用了与您更相似的旧语法。谢谢。我试图在我的示例中实现它,但它不想工作。您的autoprefixer管道是否与我的答案中显示的匹配?你可以尝试安装和添加,它会让你注销任务中发生的事情。因为我在同一个函数中有更多的东西,所以我有点不确定把新代码放在哪里。我现在在那个函数中有了这个:gulp.task('styles',function(){gulp.src(['scss/***/.scss']).pipe(水管工({errorHandler:function(error){console.log(error.message);this.emit('end');}})).pipe(sass()).pipe(autoprefixer({browsers:['last 2 versions']),cascade:false})).pipe(gulp.dest('css/')).pipe(browserSync.reload({stream:true}));你能更新这个问题,并记下发生了什么变化吗?该注释中的代码完全不可读。很抱歉,我看不出该如何设置的任何其他问题。您有多确定应该看到的前缀不存在?更新:也许可以试试这个: