我有一个 Angular 9 应用程序,我开始将一些组件移动到一个专用的库项目中,该项目使用辅助入口点(试图模仿 Angular Material 的方法)。如果我使用 Ivy 编译器构建库和应用程序,一切都可以正常构建,但如果使用 --prod 标志构建两者(这会导致在没有 Ivy 的情况下构建库),应用程序构建会失败并出现以下错误:
Compiling @fabric/components/breadcrumbs : es2015 as esm2015
ERROR in node_modules/@fabric/components/breadcrumbs/fab-breadcrumbs.module.d.ts:1:22 - error NG6002: Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class.
This likely means that the library (@fabric/components/breadcrumbs) which declares FabBreadcrumbsModule has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if a newer version of the library is available, and update if s
o. Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.
1 export declare class FabBreadcrumbsModule {
~~~~~~~~~~~~~~~~~~~~
我尝试更新到最新版本(9.0.2 -> 9.1.0),但它仍然在做同样的事情。我尝试用一个全新的超级简单的 mono-repo 项目重新创建它,但在那个简单的情况下它工作得很好。我比较了我的应用程序和简单工作应用程序之间的 tsconfig 和 angular.json 配置文件,但它们几乎相同。所以我有点卡住了。我不确定是什么导致了这种情况,无论是在 ng-packagr 端,没有正确构建库,还是在应用程序端的 angular-build 被搞砸了。任何建议将不胜感激!