Angular 4中的级联环境文件

问题描述 投票:-1回答:2

我正在开发一个带有多个环境文件的角度4项目

  • environment.prealpha.ts
  • environment.alpha.ts
  • environment.beta.ts
  • environment.production.ts

这些文件有大量公共行,如何调用/使用单个公共文件并使用单个特定环境文件添加唯一行?

angular environment-variables
2个回答
0
投票

您可以设置一个预构建任务,以创建正确的环境文件

这是一个想法

  1. 将具有常用设置的environment.base.json文件作为json对象。

EG

{
"envName": "base",
"commonSetting": "common",
"specificSetting": ""
},
  1. 创建环境。[envName] .json文件,其中每个env文件仅指定匹配环境的特定设置

EG

{
"envName": "prod",
"specificSetting": "prodValue"
}
  1. 在预构建任务中,对于每个环境,请阅读基本json文件和特定环境文件。通过深度合并2个文件内容来创建新的Json对象。

EG

{
"envName": "prod",
"commonSetting": "common",
"specificSetting": "prodValue"
}
  1. 在您的预建任务中。对于每个环境,覆盖环境。[envName] .ts生成代码,用于从上一步生成的JSON对象中分配环境变量

EG

 export const environment : any = JSON.parse(JSON.stringify([generatedJsonObjectFromStep3]));

0
投票

以下是我们最终做的事情:

commonEnvironment.ts

export const commonEnvironment = {
  commonVariable1 = "foo",
  commonVariable2 = "bar",
}

environment.production.ts

import * as common from './commonEnvironment';
export const environment = {
    ...common.commonEnvironment,
    specificVariable1 = "foo",
    specificVariable2 = "bar",
}
© www.soinside.com 2019 - 2024. All rights reserved.