我坚持这个看似简单的问题。我在angular-cli.json
中有不同的env文件,如下所示:
"environmentSource": "environments/environment.ts",
"environments": {
"local": "environments/environment.local.ts",
"dev": "environments/environment.dev.ts",
"test": "environments/environment.test.ts",
"uat": "environments/environment.uat.ts",
"staging": "environments/environment.staging.ts",
"prod": "environments/environment.prod.ts"
}
我希望ng serve --environment=local
会将environment.local.ts
的内容复制到environment.ts
,但它显然无效。如果我在environment.ts
中有故意拼写错误,该应用程序无效。例如,如果我在environment.local.ts export const baseWebApiUrl = 'http://localhost:63037/api/'
和environment.ts
export const baseWebApiUrl = 'http://xxx/api/'
中,则该应用程序失败。它只有在我export const baseWebApiUrl = 'http://localhost:63037/api/'
中environment.ts
的情况下才有效,这会使所有这些不同设置文件的目的失效。
我做错了什么?
由于 阿南德
答案 0 :(得分:0)
在要使用该环境变量的组件中添加以下import语句:
import { environment } from '../environments/environment';
然后为您的环境进行构建:
ng build -env=local
如果您在此之后尝试使用服务,则应用程序将从相应的环境文件中获取值。请尝试这个并分享结果。
答案 1 :(得分:0)
我假设ng服务将获取ng build --env = NAME的输出,但似乎需要同时使用ng build和ng服务--env = NAME