我没有在stackoverflow或angular网站上看到任何关于此的信息,所以我决定问。如何确定应用程序是否与--target=production
或--target=development
一起运行。目前我知道如何确定环境,但我不知道如何确定目标。
我需要在main.ts
文件中查看此内容,以便我可以调用方法enableProdMode()
。目前我正在使用丑陋的解决方案,我将boolean属性放在名为production
的环境文件中,因此我可以使用以下方法检查:
import { enableProdMode } from '@angular/core';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
但我不喜欢这个解决方案,因为环境决定目标模式。如果我执行:
ng serve --target=development --environment=ENV_NAME
然后它完全取决于env是否会调用enableProdMode()
。如果我为此目的使用isDevMode
,那么它将无法工作,因为它取决于enableProdMode
。目前我需要有很多环境,对于每个环境,我需要有两个文件(对于每个目标),我认为这是非常多余的。
如何检查真实目标?
答案 0 :(得分:0)
angular-cli中的AFAIK target
仅用于控制它的生产或开发,关于优化(css,代码......)
根据您的情况,我认为A或B模式的配置文件应该位于您可以在运行时检索的单独配置文件中。在您的普通environment.[name].ts
文件(例如dev /.../ prod)中,您可以使用mode
设置(A或B)来确定要获取的配置文件