我有一个Angular 9+应用程序,它使用APP_INITILIZER
加载外部json配置文件,这样我们就可以在不重建应用程序的情况下修改文件。
我们有一些这样的配置文件用于不同的环境,如dev
、qa
、staging
等。在angular.json
文件中,我们在assets
部分指定要使用的文件。
我们有一些与环境无关的设置。例如,彩色的设置
...
,
{
"title":"red",
"header":"blue"
},
...
问题是,每次我们添加如上所述的新设置时,我们都需要在每个配置文件中重复它。我想知道是否有一种方法可以只添加一次常用设置,并在所有其他配置文件中重用它们?
我通常采用的方法是拥有一个通用的环境文件,如environment.common.ts,但该文件看起来与略有不同
export const commonEnv = {
title: 'red',
header: 'blue'
};
然后,我使用Object.assign.将设置与正常环境文件合并
import { commonEnv } from "./../environment.common";
import { environment } from './../environments/environment';
const mergedSettings = Object.assign(commonEnv, environment);
您现在可以使用mergedSettings来获取所有设置。