Riy*_*Riy 2 lazy-loading angular
我现在搜索了大约2个星期,但找不到任何适合我问题的答案。所以我在这里问。
描述
工具:Angular 4.4.6和Angular-CLI 1.4.9
我正在开发一个非常简单的应用程序。它具有AuthModule,AdminModule,LayoutModule和SharedModule。如果我将所有这些模块都添加到AppModule中,一切都将正常工作,但是问题是,当我将这些模块也添加到AppModule中时,再加上我的供应商...。大小超过600kb(--aot)。
模块说明。
ShareModule:具有每个模块都通用的一些模型和服务,例如HttpService。 AuthModule:包含使用共享模块中的HttpService的简单Login和Register组件
所以我决定把他们都作为被描述路由懒加载的模块在这里。这将供应商... js的大小减少了近50%,但随后依赖项不起作用。
尽管我在LazyLoaded模块中引用了SharedModule,但仍然不能解决问题,但是依赖项不起作用。我知道,每个延迟加载的模块都会创建自己的DI树,但是除了在延迟加载的模块内部已创建和提供的依赖关系之外,它不会解析其他依赖项。
就像我在工具部分所说的那样,我使用的是Angular-CLI,它具有检测某些组件中使用过两次的相似模块的强大功能,如果这样,它将为该模块创建common ... js。但是仍然存在问题,我无法在延迟加载的模块中访问共享服务。
有没有可能或者有人可以指出如何在延迟加载的模块中加载共享服务?
谢谢
如果你想从延迟加载模块的服务可作为全局单和随处可见,实施forRoot和进口MyLazyModule.forRoot()在AppModule。这样,将在全球范围内注册提供程序,而其余的则是延迟加载。
有关更多详细信息,请参见https://angular.io/guide/ngmodule#configure-core-services-with-coremoduleforroot。
| 归档时间: |
|
| 查看次数: |
2096 次 |
| 最近记录: |