对象对象不是 PostCSS 插件 - 构建 nrwl 库项目时出错

Posted

技术标签:

【中文标题】对象对象不是 PostCSS 插件 - 构建 nrwl 库项目时出错【英文标题】:object Object is not a PostCSS plugin - error while building nrwl library project 【发布时间】:2021-04-28 23:04:52 【问题描述】:

我们有一个 nrwl-nx 工作区库项目(在 Angular 8 上),我们有 3-4 个 angular 库。它的 ng serve 工作正常,ng build my-lib 过去也能正常工作。

但是,在我们的构建代理上,最近我们开始出现以下错误。

C:\pathToProject> my-workspace build:my-lib C:\pathToProject C:\pathToProject> ng build --project my-lib

构建 Angular 包 构建入口点“@my-scope/my-lib” 渲染样式表

编译错误 [object Object] 不是 PostCSS 插件 错误:[object Object] 不是 PostCSS 插件 在 Processor.normalize (C:\pathToProject\node_modules\ng-packagr\node_modules\postcss\lib\processor.js:145:15) 在新处理器 (C:\pathToProject\node_modules\ng-packagr\node_modules\postcss\lib\processor.js:51:25) 在 postcss (C:\pathToProject\node_modules\ng-packagr\node_modules\postcss\lib\postcss.js:73:10) 在 createPostCssProcessor (C:\pathToProject\node_modules\ng-packagr\lib\ng-v5\entry-point\resources\stylesheet.transform.js:73:12) 在对象。 (C:\pathToProject\node_modules\ng-packagr\lib\ng-v5\entry-point\resources\stylesheet.transform.js:36:30) 在 Generator.next () 在 C:\pathToProject\node_modules\ng-packagr\lib\ng-v5\entry-point\resources\stylesheet.transform.js:7:71 在新的 Promise () 在 __awaiter (C:\pathToProject\node_modules\ng-packagr\lib\ng-v5\entry-point\resources\stylesheet.transform.js:3:12)

在我们清除缓存、重新安装相同的 nodejs 版本并执行 ng build lib-project 进行故障排除之前,相同的命令在其他机器上运行良好。 nodejsv10.16.0,npmv6.9.0。

我试过nodejs v12.20.0,但似乎这个版本也有问题。

还检查了有关 SO 的其他问题 PostCSS error: [object Object] is not a PostCSS plugin,然而,我们没有使用autoprefixer

有人遇到过这个问题吗?任何帮助,将不胜感激。 __/\__

【问题讨论】:

【参考方案1】:

使用 npm install -D postcss 为我工作。

同样的issue here。

【讨论】:

以上是关于对象对象不是 PostCSS 插件 - 构建 nrwl 库项目时出错的主要内容,如果未能解决你的问题,请参考以下文章

postcss7版本和8版本的差异

Webpack 4:有条件地启用 PostCSS 插件

深入浅出的webpack构建工具---PostCss

如果您使用带有适当插件的 postcss-loader,是不是需要 css-loader?

对postcss以及less和sass的研究

如何为 Angular 7 包含额外的 postCSS 插件(postcss-preset-env)