我在阅读相关问题时发现了这个问题,但我的问题是如何从开发模式切换到生产模式。这里指出了两种模态之间的一些区别。

在控制台中我可以看到....调用enableProdMode()来启用生产模式。但是,我不确定应该在哪种类型的实例上调用该方法。

有人能回答这个问题吗?


当前回答

我的Angular 2项目没有“main.”Ts”文件提到了其他答案,但它确实有一个“引导”。Ts”文件,这似乎是关于同样的事情。(这种差异可能是由于Angular版本不同造成的。)

在“boot”中的最后一个导入指令之后添加这两行。Ts”对我很管用:

import { enableProdMode } from "@angular/core";
enableProdMode();

其他回答

从Angular 15开始,不再需要调用enableProdMode()函数。生产模式是通过构建优化参数自动选择的(参见https://angular.io/api/core/enableProdMode#description)

在Angular 10中:

找到文件路径。/environments/environment。Ts在你的“应用程序”和设置“生产”为“真”。

之前的改变:

export const environment = {
  production: false
};

后的变化:

export const environment = {
  production: true
};

我希望这对你有所帮助。

我的Angular 2项目没有“main.”Ts”文件提到了其他答案,但它确实有一个“引导”。Ts”文件,这似乎是关于同样的事情。(这种差异可能是由于Angular版本不同造成的。)

在“boot”中的最后一个导入指令之后添加这两行。Ts”对我很管用:

import { enableProdMode } from "@angular/core";
enableProdMode();

你可以通过导入并执行函数来启用它(在调用bootstrap之前):

import {enableProdMode} from '@angular/core';

enableProdMode();
bootstrap(....);

但是这个错误指示您的绑定出了问题,因此您不应该忽略它,而应该尝试找出发生这种情况的原因。

在开发期间,大多数时候不需要使用prod模式。因此,我们的解决方法是只在它不是localhost时启用它。

在浏览器的主界面中。这里定义了你的根模块AppModule:

const isLocal: boolean = /localhost/.test(document.location.host);
!isLocal && enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);

isLocal也可以用于其他目的,比如为RouterModule启用enableTracing,以便在开发阶段更好地调试堆栈跟踪。