我正在使用角度CLI来创建angular2项目。我正在使用json文件来存储一些可配置的设置,如api端点等 CLI捆绑所有文件,因此json文件不会在dist文件夹中单独部署。这是一个问题,因为部署后无法更改这些设置。 通常用于在angualr应用程序中存储此类设置的策略是什么,可以在不重新部署的情况下进行编辑? 与web.config或app.config类似的东西。
答案 0 :(得分:1)
让文件夹config
具有所有运行时环境配置,此文件夹需要添加到"assets"
.angular-cli.config.
数组中
您需要创建一个代表您的应用程序设置的类,您可以调用AppSettings
。
然后修改您的main.ts
以获得类似内容:
fetch(configUrl, { method: 'get' })
.then((response) => {
response.json()
.then((data: any) => {
if (environment.production) {
enableProdMode();
};
platformBrowserDynamic([{ provide: AppSettings, useValue: new AppSettings(data.config) }]).bootstrapModule(AppModule);
});
});
configUrl
将包含您的配置文件网址,例如/config/dev.json
这样,配置将使用fetch API
获取,在应用程序引导程序中,您的AppSettings
将自动创建。
你必须将AppSettings
注入你想要使用的任何地方。
有关详细信息,请查看此answer
答案 1 :(得分:0)
在angular-cli.json中向资源添加文件条目会将其原样复制到dist文件夹。
"assets": [
"assets",
"fav.ico",
"settings.json"
]