这个错误来自于postcss插件,我想我可能写错了。
我正在尝试将cssnano和autoprefixer添加到postcss插件中。
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']);发布于 2016-10-17 15:37:13
您正在使用gulp-autoprefixer包。这只是原始autoprefixer包的一个包装器,它将其转换为一个gulp插件,这样您就可以执行.pipe(autoprefixer())了。
然而,postcss希望最初的软件包本身,而不是吞咽插件。
所以,不是这样的:
autoprefixer = require('gulp-autoprefixer'),您需要安装autoprefixer包并执行以下操作:
autoprefixer = require('autoprefixer'),发布于 2020-10-14 03:27:29
@rizkit -我找到了修复,它很简单。只要运行npm i -d postcss,问题就解决了。
基本上,您需要依赖项中的gulp-postcss和postcss插件才能正常工作。我假设gulp-postcss插件需要更新项目中的postcss包引用才能正确修复它,所以我们将来只需要包括gulp-postcss。
发布于 2020-12-13 14:33:56
尾翼&反应问题
对于任何面对上述问题的人来说,在建立一个使用尾风的反作用项目时,运行npm i postcss -D对我来说是有效的。
https://stackoverflow.com/questions/40090111
复制相似问题