Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Angular 4中级联环境文件_Angular_Environment Variables - Fatal编程技术网

在Angular 4中级联环境文件

在Angular 4中级联环境文件,angular,environment-variables,Angular,Environment Variables,我正在处理一个包含多个环境文件的angular 4项目 环境.前阿尔法.ts 环境.alpha.ts environment.beta.ts 环境生产 这些文件有大量的公共行,如何调用/使用单个公共文件并使用单个特定环境文件来添加唯一行?您可以设置一个预构建任务来创建正确的环境文件 这里有一个想法 将带有公共设置的environment.base.json文件作为json对象 e、 g 创建环境。[envName].json文件,其中每个env文件仅指定匹配环境的特定设置 e、 g 在预构建

我正在处理一个包含多个环境文件的angular 4项目

  • 环境.前阿尔法.ts
  • 环境.alpha.ts
  • environment.beta.ts
  • 环境生产

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

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

这里有一个想法

  • 将带有公共设置的environment.base.json文件作为json对象
  • e、 g

  • 创建环境。[envName].json文件,其中每个env文件仅指定匹配环境的特定设置
  • e、 g

  • 在预构建任务中,对于每个环境,读取基本json文件和特定环境文件。通过深度合并2个文件内容来创建新的Json对象
  • e、 g

  • 在预构建任务中。对于每个环境,覆盖环境。[envName].ts以生成代码,从上一步生成的JSON对象分配环境变量
  • e、 g


    以下是我们最终所做的:

    公共环境

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

    环境生产

    import * as common from './commonEnvironment';
    export const environment = {
        ...common.commonEnvironment,
        specificVariable1 = "foo",
        specificVariable2 = "bar",
    }
    
    {
    "envName": "prod",
    "commonSetting": "common",
    "specificSetting": "prodValue"
    }
    
     export const environment : any = JSON.parse(JSON.stringify([generatedJsonObjectFromStep3]));
    
    export const commonEnvironment = {
      commonVariable1 = "foo",
      commonVariable2 = "bar",
    }
    
    import * as common from './commonEnvironment';
    export const environment = {
        ...common.commonEnvironment,
        specificVariable1 = "foo",
        specificVariable2 = "bar",
    }