2017-01-13 26 views
0

我正在使用angular CLI创建angular2项目。我正在使用json文件来存储api可配置设置,如api端点等 CLI捆绑了所有文件,因此json文件没有单独部署在dist文件夹中。这是一个问题,因为部署后无法更改这些设置。 通常用于将这些设置存储在angualr应用程序中的策略是什么?可以在无需重新部署的情况下进行编辑? 与web.config或app.config类似。Angular 2:用于存储配置设置的Startegy

+0

怎么样在cdn中链接一个json文件? –

+0

@federicoscamuzzi每个客户都有自己的json,为什么在配置文件已经是应用程序的一部分时部署到cdn? – Andy

回答

0

将文件条目添加到angular-cli.json中的资产会将其原样复制到dist文件夹。

"assets": [ "assets", "fav.ico", "settings.json" ]

0

有有你所有的运行时环境的configs这个文件夹需要到"assets"阵列的.angular-cli.config.

比你需要创建一个类,将代表您的应用程序设置中添加的文件夹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将包含您的配置文件的URL如/config/dev.json
这样的配置将与fetch API和应用程序中获取引导您AppSettings将自动创建。

你必须注入AppSettings任何你想使用它。

欲了解更多详细信息结账本answer