2016-10-17 4 views
3

エラーはpostcssプラグインからのものですが、間違って記述している可能性があります。PostCSSエラー:[オブジェクトオブジェクト]はPostCSSプラグインではありません

postcssプラグインにcssnanoautoprefixerを追加しようとしています。

gulp/node_modules/gulp-postcss/node_modules/postcss/lib/processor.js:143 
     throw new Error(i + ' is not a PostCSS plugin'); 
     ^

Error: [object Object] is not a PostCSS plugin 
    at Processor.normalize (/Applications/XAMPP/xamppfiles/htdocs/sites/gulp/node_modules/gulp-postcss/node_modules/postcss/lib/processor.js:143:15) 
    at new Processor (/Applications/XAMPP/xamppfiles/htdocs/sites/gulp/node_modules/gulp-postcss/node_modules/postcss/lib/processor.js:51:25) 
    at postcss (/Applications/XAMPP/xamppfiles/htdocs/sites/gulp/node_modules/gulp-postcss/node_modules/postcss/lib/postcss.js:73:10) 
    at Transform.stream._transform (/Applications/XAMPP/xamppfiles/htdocs/sites/gulp/node_modules/gulp-postcss/index.js:47:5) 
    at Transform._read (_stream_transform.js:167:10) 
    at Transform._write (_stream_transform.js:155:12) 
    at doWrite (_stream_writable.js:300:12) 
    at writeOrBuffer (_stream_writable.js:286:5) 
    at Transform.Writable.write (_stream_writable.js:214:11) 
    at DestroyableTransform.ondata (/Applications/XAMPP/xamppfiles/htdocs/sites/gulp/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:531:20) 
Mac-a45e60e72dad:gulp JoeKonst$ 

マイコード:

// Dependancies 
var gulp = require('gulp'), 
    browserSync = require('browser-sync'), 
    plumber = require('gulp-plumber'), 
    autoprefixer = require('gulp-autoprefixer'), 
    uglify = require('gulp-uglify'), 
    compass = require('gulp-compass'), 
    rename = require('gulp-rename'), 
    nano = require('cssnano'), 
    del = require('del'), 
    postcss = require('gulp-postcss'), 
    sass = require('gulp-sass'); 

// Styles 
gulp.task('styles', function(){ 
    gulp.src('sass/main.scss') 
    .pipe(sass()) 
    .pipe(postcss([autoprefixer({browsers: ['last 2 versions']}), nano()])) 
    .pipe(gulp.dest('css/')); 

    gulp.watch('sass/**/*.scss', ['styles']); 
}); 

// Tasks 
gulp.task('default', ['styles']); 

答えて

10

あなたはgulp-autoprefixerパッケージを使用しています。これは、元のautoprefixerパッケージをラップしてglupプラグインにしているので、.pipe(autoprefixer())を実行することができます。

しかし、postcssはglupプラグインではなく元のパッケージ自体を必要とします。

ので、代わりにこの:あなたはautoprefixerパッケージをインストールし、これを実行する必要が

autoprefixer = require('gulp-autoprefixer'), 

autoprefixer = require('autoprefixer'), 
+0

がグッ-cssnanoでも同じ問題を持っていた - それはまた、PostCSSとして使用することはできませんプラグイン。 gulp-cssnanoの代わりに "cssnano"を要求して使用しなければならなかった。視覚的にはそれはほぼ同じように見えるし、ギャルの初心者のように私はそれが見過ごされるezだと言う必要があります。 –

+0

特別な利点:オートポリマー内のパラメータを "突然"使用することができます: '.pipe(postcss([autoprefixer {{iOS ... '}}]))' –

関連する問題