我现在使用谷歌搜索大约2周,但找不到任何合适的答案给我的问题。所以我在这里问。角度4.4.6懒惰加载模块中的共享服务
说明
工具:角4.4.6和角CLI 1.4.9
我有我的工作很简单的应用程序。它有AuthModule,AdminModule,LayoutModule和SharedModule。一切工作正常,如果我将所有这些模块添加到AppModule,但问题是,当我添加这些模块的AppModule,然后我的供应商....大小远远超过600kb(--AOT)。
模块说明。
ShareModule:有一些模型和服务是每个模块共同的,例如, HttpService。 AuthModule:包含简单的登录和注册组件使用HttpService的从共享模块
所以我决定把它们与描述here路由所有懒加载的模块。这将供应商... js的大小减少了近50%,但之后依赖关系不起作用。
尽管我在LazyLoaded模块中引用了SharedModule,但仍不能解决问题,依赖关系不起作用。我知道,每个延迟加载的模块都会创建自己的DI树,但不会解决除已在延迟加载的模块中创建和提供的依赖关系外的其他依赖关系。
正如我在工具部分所说的,我使用的是Angular-CLI,它具有在某些组件中使用两次类似模块的功能,如果这样,那么它会为该模块创建一个通用... js。但仍然问题依然存在,我无法访问懒加载模块中的共享服务。
是否有可能或任何人都可以指出我如何在懒加载模块中加载共享服务?
感谢
感谢您指向我的链接,但它没关系,如果我出口它的根或导入共享模块。因为所有共享服务都使用SharedModule中的共享模型,所以当我尝试为root导出服务时,它也会导出所有模型的根目录。 – Riy