我在阅读相关问题时发现了这个问题,但我的问题是如何从开发模式切换到生产模式。这里指出了两种模态之间的一些区别。
在控制台中我可以看到....调用enableProdMode()来启用生产模式。但是,我不确定应该在哪种类型的实例上调用该方法。
有人能回答这个问题吗?
我在阅读相关问题时发现了这个问题,但我的问题是如何从开发模式切换到生产模式。这里指出了两种模态之间的一些区别。
在控制台中我可以看到....调用enableProdMode()来启用生产模式。但是,我不确定应该在哪种类型的实例上调用该方法。
有人能回答这个问题吗?
当前回答
Ng build -prod取代环境。Ts和environment. products . Ts
Ng build -prod
其他回答
从Angular 15开始,不再需要调用enableProdMode()函数。生产模式是通过构建优化参数自动选择的(参见https://angular.io/api/core/enableProdMode#description)
当我用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']);
你不需要任何环境。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();
在环境。Ts文件将生产设置为true
export const environment = {
production: true
};