# [Defining Providers in Shared Modules in Angular](https://alligator.io/angular/providers-shared-modules/)
目的:为了防止一个模块中通常应该作为是单例的服务,可能会被提供多次,特别是对于延迟加载的模块。
通过在模块的类中定义一个静态`forRoot`方法,该方法返回一个实现了`angular`的 `ModuleWithProviders` 接口的对象
示例代码:
```ts
...
export class SharedModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: SharedModule,
providers: [ SomeService ]
};
}
}
```
最后,在任何功能模块中,我们可以简单地导入共享模块而不使用`forRoot`,我们将访问不需要在提供服务的共享管道和指令。
- PWA 概念
- Immutable
- Angular 基础概念
- 入门参考
- Angular 更新总结
- Angular 生态系统
- Rx.js
- Ngrx
- CQRS/ES 模式
- Angular 5 详解
- 测试
- 定义共享模块
- 懒路由加载
- angular组件
- 双向绑定及变化检测
- 样式
- ionic 3详解
- ionic3
- ionic 插件
- Ionic 添加动画
- Ghost-Loading
- 打包发布
- Android上架国内应用市场流程
- 总结
- 文章
- 问题合集
- Cordova
- 插件开发指南
- Android插件开发指南-官网
- IOS插件开发指南-官网
- Hooks 编写
- 桥接技术
- ===cordova插件收集===
- 相关主题-官网
- 实战-自定义插件流程
- UI 及 相关资源