angular - Slå ihop miljövariabler i environment.ts
Jag skulle vilja minska lite redundans i min environment.ts, eftersom många av mina env-variabler börjar med samma sak. Så vad jag ville göra är detta:
export const environment = {
base_url: '//www.myWebsite.co.uk/',
ws_base_url: this.base_url + 'ws',
download_base_url: this.base_url + 'download'
}
Snarare än:
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'
}
Men när jag använder environment.ws_base_url får jag inte //www.myWebsite.co.uk/ws, utan undefined/ws. Jag undrade bara om detta verkligen inte fungerar eller om jag bara missar något.
Svar #1
Du kan bara deklarera en variabel utanför objektet:
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'
}
Svar #2
dessutom bör användning av ES5 getter fungera
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)
demo: https://jsbin.com/gujecaleru/edit?js,console
