2017-12-03 4 views
0

私はgulpにはまったく新しく、重複や未使用のcssを縮小して最終的にクリーンアップするタスクを追加したいと考えました。私のgulpfileは下にあります、そして、私はまだ学習中です。Clean-Cssタスクでgulpfileにエラーが発生しました:プロパティ 'on'を読み取ることができません

私はpost-cssと、後でそれを使うことができるモジュールを使用することを知っています。今すぐエラーが表示されます:"Cannot read property 'on' of undefined at DestroyableTransform.Readable.pipe"cleancssタスクから来ています。私がそれを取り出すと、エラーはありません。どんな助けや提案も感謝します。

//JS 
var gulp = require('gulp'); 
var sass = require('gulp-sass'); 
var browserSync = require('browser-sync'); 
var cleancss = require('clean-css'); 
var autoPrefixer = require('gulp-autoprefixer'); 

gulp.task('autoPrefixer', function() { 
    return gulp.src('../css/*.css') 
     .pipe(autoPrefixer ({ 
      browsers: ['last 2 versions'], 
      })) 
      .pipe(gulp.dest('../css')) 
    }); 

gulp.task('cleancss', function() { 
    return gulp.src('../css/*.css') 
    .pipe(cleancss({compatibility: 'ie8'})) 
    .pipe(gulp.dest('../css/min')); 
}); 


gulp.task('sass', function(){ 
    return gulp.src('../scss/*.scss') 
    .pipe(sass().on('error', function(err) { 
     console.error('\x07'); // so it doesn't just fail (literally) silently! 
     sass.logError.bind(this)(err); 
    })) // Converts Sass to CSS with gulp-sass 
    .pipe(gulp.dest('../css')) 
    .pipe(autoPrefixer()) 
    .pipe(browserSync.reload({ 
     stream: true 
    })) 
}); 


gulp.task('watch', ['browserSync','sass','autoPrefixer','cleancss'], function() { 
    gulp.watch('../scss/*.scss', ['sass']); 
    gulp.watch('../*.php', browserSync.reload); 
    gulp.watch('../js/*.js', browserSync.reload); 
}); 

gulp.task('browserSync', function() { 
    browserSync.init ({ 
     open: 'external', 
     host: 'testsite.local', 
     proxy: 'testsite.local', 
     port: 3000 
    }) 
     browserSync ({ 
     server: { 
      baseDir: 'app' 
     }, 
    }) 

}); 

答えて

1

cleancssではなく、gulp plugin for cleancssを使用してください。

var cleancss = require('gulp-clean-css'); 

代わりの

var cleancss = require('clean-css'); 

あなたはすでに行っていない場合、それをインストールすることを忘れないでください:私は実際にそれが「vynilマップ」を使用して動作させるために、管理

npm install gulp-clean-css --save-dev 
+0

あなたの返事に感謝します。私は実際には、ここで議論されているように "vynil-map"を使って動作させることができました:https://github.com/jakubpawlowicz/clean-css/issues/342。このリンクが同じ問題を抱えている誰かを助けてくれることを願っています。 – mlclm

関連する問題