Angular Cli 6 读取环境名称

3

我向angular.json文件添加了不同的环境,具体描述请参考https://github.com/angular/angular-cli/wiki/stories-application-environments。当我通过--configuration=prod启动应用程序时,会加载我的environment.prod.ts文件。至此一切正常。

现在,我想在我的某个组件中检查当前选择的环境。但我不知道在哪里可以获取这些信息。一个解决方案是将一个新属性(例如 envName : "envNameXYZ")添加到每个环境文件中,但这样很容易出错且繁琐。

有没有其他解决方法来获取环境(名称)?

3个回答

3
最佳解决方案是在每个环境文件中添加一个新属性envName。 没有其他办法可以知道环境名称。

2

如果有人对我是如何解决这个问题感兴趣,这里是我的代码:

envTypeConfig.ts

export class EnvTypeConfig {

  readonly type: EnvType.TYPE;

  constructor(type: EnvType.TYPE) {
    this.type = type;
  }

  isStaging() : boolean {
    return this.type == EnvType.TYPE.STAGING;
  }
}


export namespace EnvType {

  export enum TYPE {
    DEV = "dev",
    STAGING = "staging",
    FEATURE = "feature",
    PROD = "prod",
  }


}

environment.staging.ts

import {EnvType, EnvTypeConfig} from "./envTypeConfig";

export const environment = {
  envType: new EnvTypeConfig(EnvType.TYPE.STAGING)
};

在我的组件中,我可以执行以下代码片段来检查是否选择了staging环境:
 if(environment.envType.isStaging()){
   console.log("Yippie we are in staging environment!");
 }

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接