我计划在 Angular2 中开发一个功能来为社区做出贡献。
该功能由一项指令和一项服务组成。
我想知道如何最好地将功能打包到一个模块(或多个模块)中。
- 服务必须是全局的,所以它必须由用户导入到核心模块中——它不能被导入到延迟加载的模块中。
- 该指令可以在用户需要使用的地方导入
为了让它工作,我必须创建两个不同的模块:一个包含服务,应该由核心模块导入和重新导出;另一个包含指令,可以在用户需要的地方导入,也可以在共享模块中全局导入
现在,我有点不喜欢这种配置,因为我必须将我的功能分成两个模块。
我知道,知道 Angular2 如何工作的用户应该能够毫无问题地设置它,但如果可以将所有内容包装在 ONE 模块中,我仍然更愿意?目前实现这一目标的最佳实践是哪些?
目前我没有看到任何不同的解决方案:因为如果我将服务和指令放在同一个模块中,那么当我需要在组件中导入指令时,服务将包含在同一个导入中;如果组件是延迟加载的,这将为该组件创建第二个服务副本,这是错误的。
在此先感谢您的帮助