【问题标题】:Using the environment variables in Angular 2 does not yield expected results在 Angular 2 中使用环境变量不会产生预期的结果
【发布时间】:2018-01-05 18:54:32
【问题描述】:

当我们这样做时,ng serve --env=prod,它不应该与 environment.prod.ts 中设置的值一起使用吗?好吧,就我而言,它没有:我总是得到 environment.ts 值! (这是你所知道的开发版本)

我已经介绍了所有相关部分,我认为在 Angular 2+ 中使用环境变量时最重要的部分。

如果我错过了,你能指出我吗?


main.ts

import { enableProdMode } from '@angular/core';
import { environment } from './environments/environment';
if (environment.production) {
  enableProdMode();
} // if I run enableProdMode(); 

环境.ts

export const environment = {
  production: false, 
  serverBasePath: '',  
};

环境.prod.ts

export const environment = {
  production: true, 
  serverBasePath: '/mySubFolder',  
};

组件.ts

import { environment } from './../../../environments/environment';
...
this.serverBasePath = environment.serverBasePath;

最后,只是为了覆盖我们的基地......

angular-cli.json

...
"environmentSource": "environments/environment.ts",
"environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
}
...

【问题讨论】:

    标签: angular


    【解决方案1】:

    你必须使用:

    ng serve --environment=prod
    

    ng serve -e=prod
    

    使用ng serve 命令阅读here 以了解可能的选项

    【讨论】:

    • 有那么一刻,你真的让我很兴奋。但这没有区别。即使文档确实说并使它看起来好像只有这两个,但这不是真的。 --env 也是一个有效的选项。我知道,因为如果我使用 --env 或 --environment,cli 不会抱怨,而是说如果我使用 --enx,它会告诉我它无法识别它。
    • 您使用的是哪个版本的 cli? enableProdMode 工作和serverBasePath 不工作.. 还是两者都没有?
    • 好问题。版本是 1.2.1。至于 enableProdMode,以下是我可以告诉您的。如果我在从不匹配的 if 条件之外运行 enableProdMode,则 serverBasePath 仍然没有问题,但是( import { isDevMode } from '@angular/core'; )的 isDevMode() 函数输出 FALSE。但是,如果我们不在 main.ts 中强制启用 enableProdMode,它会输出 TRUE。这整件事有些可疑。我将继续检查 location.href.url,然后决定我是在 localHost 上还是在服务器上。这是为我咬紧牙关的时刻,
    • @AverageJoe 那个版本已经有半年多了。最有可能更新到最新版本会解决它
    • 很可能你是对的......我只是不想在关键时刻这样做......你知道,像这样的重大变化可能会引发各种奇怪的情况......还有总是让我着迷的本地与全球 cli 的东西。我已经为 environment.prod.ts 买了 400mg 布洛芬 :)
    猜你喜欢
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    相关资源
    最近更新 更多