我在看这个:https://github.com/mgechev/angular-seed以便了解最基本形式的Angular Module System。带有TS的Angular2模块系统
在这个种子项目中有一个SharedModule
,它既有index.ts
也有shared.module.ts
。在shared.module.ts
它做出口Angular方式 - 与指令,出口,提供商等。在index.ts
它重新出口它们。在app.module.ts
它进口SharedModule.forRoot()
这是完美的 - 这注册NameListService
可用于整个应用程序。但是,如果要使用NameListService
,则必须导入该文件,并且通过import { NameListService } from '../shared/index';
完成,如home.component.ts
中所示,顺便提一下,该文件也是home.module.ts
的一部分,该文件还导入了SharedModule
。
根据我这是完全错误的。
为什么我需要像这样导入它 - 这打破了模块化 - 如果我使用了一个我没有写过的模块,从而不知道在哪里查找文件,该怎么办?
为什么我会打扰在shared.module.ts
中创建和注册东西,如果我不得不通过shared/index.ts
而不是仅仅使用shared/index.ts
?
问候
是的。我知道这一点,但它感觉有点奇怪(不必要)并行使用两个系统,而没有它们彼此进行通信。我上面的例子的问题是,我必须指定UserService通过路径的位置,即使它是有效的Angular模块的一部分。 – mp3por
我已经更新了我的答案 –