我希望减少environment.ts
中的一些冗余,因为我的许多env
变量都以相同的方式开头。所以我想做的是:
export const environment = {
base_url: '//www.myWebsite.co.uk/',
ws_base_url: this.base_url + 'ws',
download_base_url: this.base_url + 'download'
}
而不是:
export const environment = {
base_url: '//www.myWebsite.co.uk/',
ws_base_url: '//www.myWebsite.co.uk/ws',
download_base_url: '//www.myWebsite.co.uk/download'
}
但是,当我使用environment.ws_base_url
时,我不会//www.myWebsite.co.uk/ws
,而是undefined/ws
。我只是想知道这是否真的不起作用,或者我是否只是遗漏了一些东西。
答案 0 :(得分:3)
您可以在对象外声明一个变量:
const BASE_URL = '//www.myWebsite.co.uk/';
export const environment = {
base_url: BASE_URL,
ws_base_url: BASE_URL + 'ws',
download_base_url: BASE_URL + 'download'
}
答案 1 :(得分:2)
由于人们表现出不止一种方法,我想我也可以采用另一种方式。
environment = {}
environment.base_url= '//www.myWebsite.co.uk/'
environment.ws_base_url= environment.base_url + 'ws'
environment.download_base_url= environment.base_url + 'download'
就像我在第一段代码中看到的那样,看起来你错过了一个''在您的环境声明中。在声明base_url之后:
base_url: '//www.myWebsite.co.uk/'
答案 2 :(得分:1)
另外,使用ES5 getter应该可以工作
const environment = {
base_url: '//www.myWebsite.co.uk/',
get ws_base_url() {
return this.base_url + 'ws';
},
get download_base_url() {
return this.base_url + 'download'
}
}
console.log(environment)