anchor.diff:  :marked
     ### The *Provider* class !{__andProvideFn}
   
  +  ### *Provider*类和*provide*对象常量
   :marked
     We wrote the `providers` #{_array} like this:
   
  
positive.code:   fact `InjectableMetadata` #{_decorator}s that
    identify a class as a target for instantiation by an injector.
  
  block ts-any-decorator-will-do
    .l-sub-section
      :marked
        At runtime, injectors can read class metadata in the transpiled JavaScript code
        and use the constructor parameter type information
        to determine what things to inject. 
  
        Not every JavaScript class has metadata.
        The TypeScript compiler discards metadata by default.
  
negative.code: 
    ### Registering providers in an NgModule
    
    ### 在NgModule中注册提供商。
    
    Here's our AppModule where we register a `Logger`, an `UserService`, and an `APP_CONFIG` provider.
    
  