如何在Angular 2中启用生产模式

时间:2016-03-01 11:04:47

标签: angular

我是Angular2的新手,我正在阅读已解决的问题而且我找到了这个

What is difference between production and development mode in Angular2?

这很有意思,但我的问题是如何才能从开发变为生产,这是在阅读这个问题后存在差异

Fill and empty data frame in R

我搜索但没有找到任何表明模式,以及你必须指明模式(开发)或模式(生产)的地方。

在控制台中我可以看到System.config({但在org.apache.poi或组件类中的位置。

是否需要特定的导入?

16 个答案:

答案 0 :(得分:190)

通过导入和执行函数(在调用bootstrap之前)启用它:

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

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

但是这个错误表明你的绑定有问题,所以你不应该只是解雇它,而是试着找出它发生的原因。

答案 1 :(得分:57)

这对我有用,使用最新版本的Angular 2(2.0.0-rc.1):

<强> main.ts

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

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

以下是其文档中的函数参考:https://angular.io/api/core/enableProdMode

答案 2 :(得分:57)

为Angular 2应用程序启用生产模式的最佳方法是使用angular-cli并使用ng build --prod构建应用程序。这将使用生产配置文件构建应用程序。使用angular-cli的好处是可以在开发过程中使用ng serveng build开发模式,而无需始终更改代码。

答案 3 :(得分:40)

当我使用angular-cli构建一个新项目时。包含了一个名为environment.ts的文件。在这个文件里面是一个像这样的变量。

export const environment = {
  production: true
};

然后在main.ts中你有这个。

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导入的。

答案 4 :(得分:10)

转到src/enviroments/enviroments.ts并启用生产模式

export const environment = {
  production: true
};

for Angular 2

答案 5 :(得分:8)

启用角度为6.X.X的生产模式 只需转到环境文件

喜欢这条路

您的路径:project>\src\environments\environment.ts

从{

更改production: false
export const environment = {
  production: false
};

收件人

export const environment = {
  production: true
};

enter image description here

答案 6 :(得分:7)

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

在您的浏览器中&#39; main.ts您定义根AppModule的地方:

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

isLocal也可以用于enableTracing之类的RouterModule之类的其他用途,以便在开发阶段更好地调试堆栈跟踪。

答案 7 :(得分:4)

当使用ng build命令时,它会覆盖environment.ts文件

默认使用ng build命令时,设置dev环境

要使用生产环境,请使用以下命令 ng build --env = prod

这将启用生产模式并自动更新environment.ts文件

答案 8 :(得分:3)

对于那些在没有切换到TypeScript的情况下进行升级路径的人:

ng.core.enableProdMode()

对于我(在javascript中),这看起来像:

var upgradeAdapter = new ng.upgrade.UpgradeAdapter();
ng.core.enableProdMode()
upgradeAdapter.bootstrap(document.body, ['fooApp']);

答案 9 :(得分:3)

您不需要您的种子项目提供的任何environment.ts或此类文件。只需要一个configuration.ts并添加所有需要运行时决策的条目(例如: - logging configuration和urls)。这将适用于任何设计结构,并有助于将来

<强> configuration.ts

export class Configuration {

   isInProductionMode : bool = true;

   // other configuration
   serviceUrl : string = "http://myserver/myservice.svc";
   logFileName : string = "...";
}

//现在使用您的启动代码(main.ts或根据种子项目设计的等价物

import { Configuration } from './configuration';
import { enableProdMode } from '@angular/core';
....
if (Configuration.isInProductionMode)
    enableProdMode();

答案 10 :(得分:2)

您可以在您的应用程序中使用。 main.ts文件

import {enableProdMode} from '@angular/core';
enableProdMode();
bootstrap(....);

答案 11 :(得分:1)

ng build --prod用environment.prod.ts替换environment.ts     ng build --prod

答案 12 :(得分:0)

我的Angular 2项目没有&#34; main.ts&#34;文件提到了其他答案,但确实有&#34; boot.ts &#34;文件,这似乎是一回事。 (差异可能是由于不同版本的Angular。)

在&#34; boot.ts&#34;中的最后一个import指令之后添加这两行。为我工作:

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

答案 13 :(得分:0)

在environment.ts文件中,将生产设置为true

export const environment = {
  production: true
};

答案 14 :(得分:0)

在 Angular 10 中:

<块引用>

在您的'app'下找到文件路径./environments/environment.ts并将'production'设置为'真的'

更改前:

export const environment = {
  production: false
};

更改后:

export const environment = {
  production: true
};

希望能帮到你。

答案 15 :(得分:0)

只要写: ng s --prod

这将为项目提供服务,就像您处于生产模式