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

穆罕默德·阿迪比

我创建了一个有角度的工作区:

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

然后创建一个应用程序:

ng g 应用程序 my-app --routing=true --style=scss

然后创建一个库:

g 库 my-lib --prefix = lib

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

从“我的库”导入 { MyLibComponent };
声明:[AppComponent,MyLibComponent],

然后构建库并提供应用程序,一切正常。
然后构建应用程序,再次一切正常。
但是在产品模式下构建时,我收到一个错误消息:“MyLibComponent is part of 2 module”!

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

奥卡姆

如果我理解正确,您只想将组件导入名为“my-app”的应用程序,这是不可能的,因为 Angular 与模块一起工作,我的意思是模块是组件的容器,因此您将始终需要一个模块来装扮你的组件,你要做的是创建功能模块

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章