【发布时间】:2018-10-10 22:41:11
【问题描述】:
根据多个来源(例如this one),我应该能够通过以下方式指定名称来在不同环境之间切换。
ng serve --environment=dev
如果我正确理解了设置,我的 .angular-cli.json 文件指向 environments/environment.ts 的标志值 dev em> 和 environments/environment.prod.ts 的 prod 值。
"environmentSource": "environments/environment.ts",
"environments": {
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
问题是,当我执行第一个示例中引用的那个时,我仍然可以看到 prod 版本。 (我在访问组件的构造函数中打印出整个 environment 对象。)我什至尝试添加 target 标志,尽管我很确定这只是优化运行构建时的水平。没区别……
ng serve --environment=dev --target=development
我缺少什么以及如何使 serve 命令与 environments/environment.ts 一起运行?
编辑
main.ts的内容如下。
import { enableProdMode } from "@angular/core";
import { platformBrowserDynamic } from "@angular/platform-browser-dynamic";
import { AppModule } from "./app/app.module";
import { environment } from "./environments/environment";
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.log(err));
【问题讨论】:
-
你试过在
production: false里面设置environment.ts吗? -
@JoãoGhignatti 是的,这就是我在该文件中的内容(请参阅下面 Joshua 的答案)。有什么想法吗?
-
main.ts 和 angular-cli.json 长什么样子?我真的很想帮助你弄清楚这一点。听起来有些不对劲,因为到目前为止您的所有代码都应该提供一个开发环境。
标签: angular typescript