angular,只是从库中导入组件而不是整个库模块

angular, just import component from LIBRARY not whole of library module

我创建了一个 angular 工作区:

ng new my-workspace --createApplication="false"

然后创建一个应用程序:

ng g application my-app --routing=true --style=scss

然后创建一个库:

ng g library my-lib --prefix=lib

现在我只想导入库的组件,而不是整个库
所以将组件库导入应用程序模块:

import { MyLibComponent } from 'my-lib';
declarations: [AppComponent,MyLibComponent],

然后构建库和服务应用程序,一切正常。
然后构建应用程序,再次一切正常。
但是在产品模式下构建时,我得到一个错误:'MyLibComponent is part of 2 module'!

我认为这里的库是另一个应用程序,但在同一个工作区中。
当我导入库模块时(而不是库组件:从 'my-lib' 导入 { MyLibModule };)它成功了!
我哪里错了?

如果我对您的理解正确,您只想将组件导入名为“my-app”的应用程序,这是不可能的,因为 Angular 与 module what I mean is that modules are the containers of components so you will always need a module to consume your components, what you would do is to create feature modules 一起使用。

创建一个名为 MyLibModule 的模块,然后在该模块内创建一个组件,因此您只需将此模块从您的库导入到您的应用程序。

另一个很好的参考是 link https://angular.io/guide/module-types,因为当您构建库时,您将拥有不同类型的模块(小部件、服务和其他)。