2017-04-18 3 views
1

gulp-autoprefixer를 작동시킬 수 없습니다. 전환과 함께 테스트했지만 내 scss 파일을 저장할 때 접두사가 내 CSS 파일에 표시되지 않습니다. 다른 모든 것은 괜찮은 것 같습니다.gulp-autoprefixer가 작동하지 않습니다.

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']); 
}); 

는 당신의 도움에 대해 감사합니다! :

이 내 꿀꺽 꿀꺽 파일입니다

UPDATE

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']); 
}); 

답변

4

documentation에 따르면, 구현은 당신이 무엇을 약간 다릅니다 :

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')) 
); 

는 지금 특별히 배열로 browsers을 포함하는 객체를 전달합니다.

당신의 구형 구문을 사용하는 Gulpfiles가 있기 때문에 사용중인 버전에 따라 달라질 수 있습니다.

+0

감사합니다. 내 예제를 구현하려고했지만 작동하지 않으려 고합니다. – Tiago

+0

자동 응답기 파이프가 내 답변에 표시된 것과 일치합니까? [gulp-debug] (https://www.npmjs.com/package/gulp-debug)를 설치하고 추가하면 작업 내에서 일어나는 일을 로그 아웃 할 수 있습니다. – Toby

+0

동일한 기능을 수행하면서 더 많은 작업을 수행 할 수 있으므로 새 코드를 어디에 넣을 지 확신이 없습니다. 이제 그 함수에 다음 코드가 있습니다. gulp.task ('스타일', function() { gulp.src ([ 'scss/**/*. scss'] .pipe (배관공 ({ errorHandler : 함수 (에러) { CONSOLE.LOG (하고 Error.message) this.emit ('말단');}} )) .pipe (사스()) .pipe (autoprefixer ({ 브라우저 : [ '캐스케이드 : 거짓 }) . 파이프 (gulp.dest ('css /')) . 파이프 (browserSync.reload ({stream : true})) }); – Tiago