我有一个愚蠢的问题。我想知道如何加快我的应用程序。在大多数情况下,流行的方法是在构建过程中使用--prod标志。但我也发现了一个建议,在main.ts中启用enableProdMode();的Angular生产模式。这些行为是否相同,触发的机制是否相同?
--prod
main.ts
enableProdMode();
t98cgbkg1#
--prod标志触发--environment=prod标志(以及其他)。这意味着在编译期间使用在.angular-cli.json的environments数组中定义为prod的环境文件。如果你有默认的main.ts,这将意味着它运行enabledProdMode()。因为他们用这个来触发它:
--environment=prod
.angular-cli.json
environments
prod
enabledProdMode()
if (environment.production) { enableProdMode(); }
字符串并且在环境文件中,production属性被设置为true。
production
true
pxy2qtax2#
ng build --prod是ng build --configuration=production的简写。作为其中的一部分,构建过程将引用您的angular.json文件,特别是在这种情况下的“configurations”部分:
ng build --prod
ng build --configuration=production
angular.json
"configurations": { "production": { "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" } ], ...
字符串在环境中,prod.ts如下(默认情况下):
export const environment = { production: true };
型如果你查看你的main.ts文件,你会看到下面的代码(同样是默认的):
型因此,正如您所看到的,ng build --prod将启用prod模式。启用prod模式将禁用某些验证,从而加快代码的运行速度。此外,在使用生产配置运行时,构建过程还将执行以下操作(同样是默认情况):
source的
cxfofazt3#
但请记住,如果你这样做:
ng build --env=dev --prod
字符串那么来自生产嫉妒的标志将被覆盖。我检查了它,因为我仍然有问题的性能,尽管使用--prod标志的非prod嫉妒。这在构建演示、基准构建等时非常重要。
sauutmhj4#
所以,为了澄清一下。enlightening articlehttps://dev.to/this-is-angular/angular-15-what-happened-to-environmentts-koh的
4条答案
按热度按时间t98cgbkg1#
--prod
标志触发--environment=prod
标志(以及其他)。这意味着在编译期间使用在.angular-cli.json
的environments
数组中定义为prod
的环境文件。如果你有默认的
main.ts
,这将意味着它运行enabledProdMode()
。因为他们用这个来触发它:字符串
并且在环境文件中,
production
属性被设置为true
。pxy2qtax2#
ng build --prod
是ng build --configuration=production
的简写。作为其中的一部分,构建过程将引用您的angular.json
文件,特别是在这种情况下的“configurations”部分:字符串
在环境中,prod.ts如下(默认情况下):
型
如果你查看你的
main.ts
文件,你会看到下面的代码(同样是默认的):型
因此,正如您所看到的,
ng build --prod
将启用prod模式。启用prod模式将禁用某些验证,从而加快代码的运行速度。此外,在使用生产配置运行时,构建过程还将执行以下操作(同样是默认情况):source的
cxfofazt3#
但请记住,如果你这样做:
字符串
那么来自生产嫉妒的标志将被覆盖。我检查了它,因为我仍然有问题的性能,尽管使用--prod标志的非prod嫉妒。这在构建演示、基准构建等时非常重要。
sauutmhj4#
所以,为了澄清一下。
enlightening article
https://dev.to/this-is-angular/angular-15-what-happened-to-environmentts-koh的