anchor.diff:  :marked
     Angular apps are modular and Angular has its own modularity system called _Angular modules_ or _NgModules_.
   
  -  Angular应用是模块化的，并且Angular有自己的模块系统，它被称为_Angular模块_或_NgModules_。
  +  Angular 应用是模块化的，并且 Angular 有自己的模块系统，它被称为 _Angular 模块_或 _NgModules_。
   
     _Angular modules_ are a big deal.
     This page introduces modules; the [Angular modules](ngmodule.html) page covers them in depth.
   
  -  _Angular模块_很重要。
  -  这里我们只做一个简介，在[Angular模块](ngmodule.html)中会做深入讲解。
  +  _Angular 模块_很重要。
  +  这里只是简单介绍，在 [Angular 模块](ngmodule.html)中会做深入讲解。
   
   <br class="l-clear-both"><br>
   :marked
     Every Angular app has at least one Angular module class, [the _root module_](appmodule.html "AppModule: the root module"),
     conventionally named `AppModule`.
   
  -  每个Angular应用至少有一个模块（_根模块_），习惯上命名为`AppModule`。
  +  每个 Angular 应用至少有一个模块（[_根模块_](appmodule.html "AppModule: 根模块")），习惯上命名为`AppModule`。
   
     While the _root module_ may be the only module in a small application, most apps have many more
     _feature modules_, each a cohesive block of code dedicated to an application domain,
     a workflow, or a closely related set of capabilities. 
   
  -  _根模块_在一些小型应用中可能是唯一的模块，不过大多数应用会有很多_特性模块_，每个模块都是一个内聚的代码块专注于某个应用领域、工作流或紧密相关的功能。
  +  _根模块_在一些小型应用中可能是唯一的模块，大多数应用会有很多_特性模块_，每个模块都是一个内聚的代码块专注于某个应用领域、工作流或紧密相关的功能。
   
     An Angular module, whether a _root_ or _feature_, is a class with an `@NgModule` decorator.
   
  -  Angular模块（无论是_根模块_还是_特性模块_）都是一个带有`@NgModule`装饰器的类。
  +  Angular 模块（无论是_根模块_还是_特性模块_）都是一个带有`@NgModule`装饰器的类。
   
   .l-sub-section
     :marked
  
positive.code:   responding to user interactions according to the instructions you've provided.
  
    然后，我们通过*引导*_根模块_来启动该应用。
    Angular在浏览器中接管、展现应用的内容，并根据我们提供的操作指令响应用户的交互。
  
    Of course, there is more to it than this.
    You'll learn the details in the pages that follow. For now, focus on the big picture.
  
    当然，这只是冰山一角。在以后的页面中，我们还会学到更多细节知识。不过，目前我们还是先关注全景图吧。
  
  figure
    img(src="/resources/images/devguide/architecture/overview2.png" alt="overview" style="margin-left:-40px;" width="700")
  
negative.code: :marked
    - `moduleId`: sets the source of the base address (`module.id`) for module-relative URLs such as the `templateUrl`.
  
      `moduleId`: 为与模块相关的 URL（例如`templateUrl`）提供基地址。
  
    - `selector`: CSS selector that tells Angular to create and insert an instance of this component
    where it finds a `<hero-list>` tag in *parent* HTML.
    For example, if an app's  HTML contains `<hero-list></hero-list>`, then
    Angular inserts an instance of the `HeroListComponent` view between those tags.
  
      `selector`： CSS 选择器，它告诉 Angular 在*父级* HTML 中查找`<hero-list>`标签，创建并插入该组件。
    例如，如果应用的 HTML 包含`<hero-list></hero-list>`， Angular 就会把`HeroListComponent`的一个实例插入到这个标签中。
  
    - `templateUrl`: module-relative address of this component's HTML template, shown [above](#templates).
  
      `templateUrl`：组件 HTML 模板的模块相对地址，[如前所示](#templates)。
  
    - `providers`: !{_array} of **dependency injection providers** for services that the component requires.
    This is one way to tell Angular that the component's constructor requires a `HeroService`
    so it can get the list of heroes to display. 
  
      `providers` - 组件所需服务的*依赖注入提供商*数组。
    这是在告诉 Angular：该组件的构造函数需要一个`HeroService`服务，这样组件就可以从服务中获得英雄数据。
  
  figure
    img(src="/resources/images/devguide/architecture/template-metadata-component.png" alt="元数据" align="left" style="height:200px; margin-left:-40px;margin-right:10px" )
  