ng服务/构建

时间:2017-11-27 18:04:17

标签: angular angular-cli

我坚持这个看似简单的问题。我在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的情况下才有效,这会使所有这些不同设置文件的目的失效。

我做错了什么?

由于 阿南德

2 个答案:

答案 0 :(得分:0)

在要使用该环境变量的组件中添加以下import语句:

import { environment } from '../environments/environment';

然后为您的环境进行构建:

ng build -env=local

如果您在此之后尝试使用服务,则应用程序将从相应的环境文件中获取值。请尝试这个并分享结果。

答案 1 :(得分:0)

我假设ng服务将获取ng build --env = NAME的输出,但似乎需要同时使用ng build和ng服务--env = NAME