【发布时间】:2020-05-07 14:37:51
【问题描述】:
在我的 Angular 9(一切都是最新的)中,我使用了几个自己的库。这些库使用“paths”属性包含在 tsconfig.json 中,然后在应用程序中使用。
我创建了一个新库,它使用了 Angular Cdk 库中的大量 CdkPortal,在编译导入库的根应用程序时收到以下错误消息。在此之前我编译了库本身并且没有构建错误:
Compiling cap-gui-components : module as esm5
Error: Error on worker #1: Error: Failed to find exported name of node (CapGuiSettingsDialogContainerComponent
使用 Cdk 动态加载的所有组件都会生成此错误消息。理论上,这些组件不需要在 index.ts 文件中导出,因为它们只在库本身中使用。如果我导出它们,我不会收到错误消息。
完整的错误信息:
ompiling cap-gui-components : module as esm5
Error: Error on worker #1: Error: Failed to find exported name of node (CapGuiSettingsDialogContainerComponent = /** @class */ (function () {
// ************************************************************************************************
/** Constructor */
...code...
in 'C:/Users/Arbeit/dev/CaptureWebApplications/dist/cap-gui-components/fesm5/cap-gui-components.js'.
at Object.findExportedNameOfNode (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\imports\src\find_export.js:35:19)
at LogicalProjectStrategy.emit (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\imports\src\emitter.js:228:38)
at ReferenceEmitter.emit (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\imports\src\emitter.js:71:44)
at Object.toR3Reference (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\annotations\src\util.js:192:31)
at NgModuleDecoratorHandler._toR3Reference (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\annotations\src\ng_module.js:417:31)
at C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\annotations\src\ng_module.js:196:83
at Array.map (<anonymous>)
at NgModuleDecoratorHandler.analyze (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\annotations\src\ng_module.js:196:48)
at NgccTraitCompiler.TraitCompiler.analyzeTrait (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\transform\src\compilation.js:345:40)
at analyze (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\src\ngtsc\transform\src\compilation.js:297:58)
at ClusterMaster.onWorkerMessage (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\ngcc\src\execution\cluster\master.js:168:27)
at C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\ngcc\src\execution\cluster\master.js:52:95
at ClusterMaster.<anonymous> (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\ngcc\src\execution\cluster\master.js:248:57)
at step (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\tslib\tslib.js:139:27)
at Object.next (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\tslib\tslib.js:120:57)
at C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\tslib\tslib.js:113:75
at new Promise (<anonymous>)
at Object.__awaiter (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\tslib\tslib.js:109:16)
at EventEmitter.<anonymous> (C:\Users\Arbeit\dev\CaptureWebApplications\node_modules\@angular\compiler-cli\ngcc\src\execution\cluster\master.js:242:32)
at EventEmitter.emit (events.js:311:20)
An unhandled exception occurred: NGCC failed.
See "C:\Users\Arbeit\AppData\Local\Temp\ng-dpI2TJ\angular-errors.log" for further details.
为什么我需要导出这些组件?是否有其他方法可以构建该库而不会出错且不导出这些组件?
【问题讨论】:
标签: angular tsconfig angular-cdk angular-library