我在阅读相关问题时发现了这个问题,但我的问题是如何从开发模式切换到生产模式。这里指出了两种模态之间的一些区别。
在控制台中我可以看到....调用enableProdMode()来启用生产模式。但是,我不确定应该在哪种类型的实例上调用该方法。
有人能回答这个问题吗?
我在阅读相关问题时发现了这个问题,但我的问题是如何从开发模式切换到生产模式。这里指出了两种模态之间的一些区别。
在控制台中我可以看到....调用enableProdMode()来启用生产模式。但是,我不确定应该在哪种类型的实例上调用该方法。
有人能回答这个问题吗?
你可以通过导入并执行函数来启用它(在调用bootstrap之前):
import {enableProdMode} from '@angular/core';
enableProdMode();
bootstrap(....);
但是这个错误指示您的绑定出了问题,因此您不应该忽略它,而应该尝试找出发生这种情况的原因。
使用Angular 2的最新版本(2.0.0-rc.1),这对我来说很有效:
main.ts
import {enableProdMode} from '@angular/core';
enableProdMode();
bootstrap(....);
下面是他们文档中的函数引用:https://angular.io/api/core/enableProdMode
为Angular 2应用启用生产模式的最好方法是使用Angular -cli,并使用ng build——prod来构建应用。这将使用生产配置文件构建应用程序。使用angular-cli的好处是可以在开发时使用ng serve或ng build来使用开发模式,而无需一直修改代码。
当我用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导入的。
对于那些没有切换到TypeScript的升级路径:
ng.core.enableProdMode()
对我来说(javascript)这看起来像:
var upgradeAdapter = new ng.upgrade.UpgradeAdapter();
ng.core.enableProdMode()
upgradeAdapter.bootstrap(document.body, ['fooApp']);
我的Angular 2项目没有“main.”Ts”文件提到了其他答案,但它确实有一个“引导”。Ts”文件,这似乎是关于同样的事情。(这种差异可能是由于Angular版本不同造成的。)
在“boot”中的最后一个导入指令之后添加这两行。Ts”对我很管用:
import { enableProdMode } from "@angular/core";
enableProdMode();
进入src/ environments / environments。Ts并启用生产模式
export const environment = {
production: true
};
对于Angular 2
你不需要任何环境。Ts或类似的文件将由您的种子项目提供。只要有一个构型。Ts并添加所有需要运行时决策的条目(例如:日志配置和url)。这将适用于任何设计结构,并在未来也有帮助
configuration.ts
export class Configuration {
isInProductionMode : bool = true;
// other configuration
serviceUrl : string = "http://myserver/myservice.svc";
logFileName : string = "...";
}
//现在在你的启动代码中使用(main。根据种子项目设计提供t或同等材料
import { Configuration } from './configuration';
import { enableProdMode } from '@angular/core';
....
if (Configuration.isInProductionMode)
enableProdMode();
在开发期间,大多数时候不需要使用prod模式。因此,我们的解决方法是只在它不是localhost时启用它。
在浏览器的主界面中。这里定义了你的根模块AppModule:
const isLocal: boolean = /localhost/.test(document.location.host);
!isLocal && enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);
isLocal也可以用于其他目的,比如为RouterModule启用enableTracing,以便在开发阶段更好地调试堆栈跟踪。
当使用ng build命令时,它会覆盖环境。ts文件
默认情况下,使用ng build命令设置开发环境
为了使用生产环境,请使用以下命令 Ng build——env=prod
这将启用生产模式并自动更新环境。ts文件
你可以在你的app.ts || main中使用。ts文件
import {enableProdMode} from '@angular/core';
enableProdMode();
bootstrap(....);
在angular 6.X.X中启用生产模式 转到环境文件
就像这条路径
您的路径:项目>\src\environments\environment.ts
更改生产:false from:
export const environment = {
production: false
};
To
export const environment = {
production: true
};
在Angular 10中:
找到文件路径。/environments/environment。Ts在你的“应用程序”和设置“生产”为“真”。
之前的改变:
export const environment = {
production: false
};
后的变化:
export const environment = {
production: true
};
我希望这对你有所帮助。
对于Angular v12及以后版本,ng build——prod已弃用。
你现在应该使用ng build——configuration=production来构建它
src /环境/环境。Ts文件将被该文件的特定于目标的版本src/environments/environment. products . Ts取代。
在你的文件中:
SRC => environment => environment.ts
然后你改变(生产值从false变为true)这个:
导出const环境= { 生产:假 };
到:
导出const环境= { 生产:真正的 };
从Angular 15开始,不再需要调用enableProdMode()函数。生产模式是通过构建优化参数自动选择的(参见https://angular.io/api/core/enableProdMode#description)