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,因为当您构建库时,您将拥有不同类型的模块(小部件、服务和其他)。
我创建了一个 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,因为当您构建库时,您将拥有不同类型的模块(小部件、服务和其他)。