当`enableProdMode()`时到底发生了什么

时间:2016-05-19 08:33:35

标签: typescript angular

我正在使用Angular2 quick start使用TypeScript演示。一切都运行良好,但在完成演示后,我在浏览器控制台中看到了一条消息

Angular 2正在开发模式下运行。调用enableProdMode()以启用生产模式。

我是在this answer的帮助下完成的。

import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
import { enableProdMode } from '@angular/core';

enableProdMode();
bootstrap(AppComponent);

问题

  1. 当应用程序进入生产模式时会发生什么?
  2. 除了删除控制台消息外,我没有看到应用程序行为的任何变化?
  3. 有人可以解释一下吗?

3 个答案:

答案 0 :(得分:8)

启用生产模式不会禁用更改检测。此功能是Angular2的基础,可以将模板与关联类的状态同步。

使用生产模式,只进行一次运行而不是两次......

答案 1 :(得分:3)

根据Angular 2文档:https://angular.io/docs/ts/latest/api/core/index/enableProdMode-function.html

  

禁用Angular的开发模式,该模式会关闭框架内的断言和其他检查。

     

此禁用的一个重要断言验证更改检测通过不会导致对任何绑定的其他更改(也称为单向数据流)。

答案 2 :(得分:2)

enableProMode

  

禁用Angular的开发模式,该模式会关闭断言等   在框架内进行检查。

     

此禁用的一个重要断言验证更改检测通过   不会导致对任何绑定的其他更改(也称为    单向数据流。)

     

@stable

isDevMode

  

返回Angular是否处于开发模式。打完一次后,   价值被锁定,不再发生变化。

     

默认情况下,除非用户在调用此函数之前调用enableProdMode,否则这是真的。

     

目前正在使用与应用程序引导程序相关的@experimental API   审查。