anchor.diff:    with [providers](dependency-injection.html#providers) at different levels of the
     application's component tree.
   
  -  [依赖注入](dependency-injection.html)一章中讲过Angular的层次化依赖注入系统，
  +  [依赖注入](dependency-injection.html)一章中讲过 Angular 的层次化依赖注入系统，
     以及如何在组件树的不同层次上通过[提供商](dependency-injection.html#providers)配置该系统。
   
     A module can add providers to the application's root dependency injector, making those services
  
positive.code:     no other component or module should define or re-create the services themselves.
      Their _providers_ are not shared.
  
      当很多组件在它们的构造函数中注入这些服务时（因此也需要用JavaScript的`import`语句来导入它们的符号），任何组件或模块自身都不应该定义或重新创建这些服务。
      因为它们的*提供商*不是共享的。
  
      We recommend collecting such single-use classes and hiding their gory details inside a `CoreModule`.
  
negative.code: 
    * The app has three feature modules: Contact, Hero, and Crisis.
  
      该应用有三个特性模块：联系人 (Contact) 、英雄 (Hero) 和危机 (Crisis) 。
  
    * The Angular router helps users navigate among these modules.
  
      Angular 路由器帮助用户在这些模块之间导航。
  
    * The `ContactComponent` is the default destination when the app starts.
  
      `ContactComponent`组件是应用启动时的默认页。
  
    * The `ContactModule` continues to be "eagerly" loaded when the application starts.
  
      `ContactModule`仍然会在应用启动时被主动加载。
  
    * `HeroModule` and the `CrisisModule` are lazy loaded.
  
      `HeroModule`和`CrisisModule`会被惰性加载。
  
    <a id="app-component-template"></a>
    Let's start at the top with the new `AppComponent` template: a title, three links, and a `<router-outlet>`.
  