Angular 2:根据环境定义静态变量

时间:2017-04-06 11:15:40

标签: angular

是否可以根据环境定义静态变量?

类似的东西(这段代码是一个愚蠢的例子,但它有这个想法):

if (environment.production) {
   public static MY_VAR: string = 'A';
} else {
   public static MY_VAR: string = 'B';
}

感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

当我第一次引导应用程序然后根据dev,qa和uat url在我的应用程序中设置api端点时,我所做的是从window.location.host读取url。 怎么做到这一点?

你的main.ts文件中的

 platformBrowserDynamic([{provide:'EndPoint',useValue:config.getEndPoint()}])

export class config{
public static getEndPoint(){
const host = window.location.host
if(host) // your logic goes here{

}
}
}

在您的服务中注入

constructor(@Inject('EndPoint') private endPoint:string)