2017-01-13 25 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