在Angular2(使用CLI和Webpack)项目中,我可以使用哪种方法来放置常用配置数据和参数,例如某些api密钥或API URL?许多组件和服务都将使用这些参数。
我们的应用变得越来越大,我试图找到一个解决方案,让应用尽可能轻松高效。
答案 0 :(得分:1)
您不需要使用完整的服务或模块来存储配置数据。
您可以将配置信息放在const
中,并通过依赖注入公开变量:
const SETTINGS = {
apiUrl: 'someUrl',
apiKey: 'someKey',
// ...
};
// Then, in your AppModule, declare the value for DI
@NgModule({
providers: [
{ provide: 'SETTINGS', useValue: SETTINGS },
// ...
]
})
然后,每当您需要访问配置(在服务或组件中......)时,请将其注入:
import { Inject } from "@angular/core";
export class MyComponent {
constructor(@Inject('SETTINGS') private settings: any) {
}
}
这种方法的优点是你可以根据环境使用不同的设置,或者你是否正在运行单元测试等。