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

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

有人能回答这个问题吗?


当前回答

当我用angular-cli构建一个新项目时。包含一个名为environment.ts的文件。在这个文件中有一个这样的变量。

export const environment = {
  production: true
};

然后是main。t你有这个。

import './polyfills.ts';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { environment } from './environments/environment';
import { AppModule } from './app/';

if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule);

你可以把它添加到一个非angular-cli的项目中,我假设,因为enableProdMode()是从@angular/core导入的。

其他回答

为Angular 2应用启用生产模式的最好方法是使用Angular -cli,并使用ng build——prod来构建应用。这将使用生产配置文件构建应用程序。使用angular-cli的好处是可以在开发时使用ng serve或ng build来使用开发模式,而无需一直修改代码。

在你的文件中:

SRC => environment => environment.ts

然后你改变(生产值从false变为true)这个:

导出const环境= { 生产:假 };

到:

导出const环境= { 生产:真正的 };

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

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

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

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

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

只写: 呸

这将为项目服务,就像你处于刺激模式一样