title: Angular2, using a coreModule component inside a lazy loaded module
body: <p>I have a structure similar to <a href="https://angular.io/docs/ts/latest/guide/style-guide.html#04-11" rel="nofollow noreferrer">https://angular.io/docs/ts/latest/guide/style-guide.html#04-11</a></p>
  
  <pre><code>src
    app
      core
        core.module.ts
         spinner
           spinner.component.ts|html|css|spec.ts
           spinner.service.ts|spec.ts
      product
        product-list.component.ts
        product.module.ts
    app.component.ts|html|css|spec.ts
    app.module.ts
    app-routing.module.ts
    main.ts
    index.html
  ...
  </code></pre>
  
  <p>The module <code>product-module</code> is LAZY loaded when the route is <code>/product/list</code>. Now, in the product component template i'm trying to use the component <code>spinner</code> from the core, but i got the following error:</p>
  
  <pre><code>Error: Template parse errors:'spinner' is not a known element:
  </code></pre>
  
  <p>I suppose that is because the <code>CoreModule</code> is not imported in the <code>ProductModule</code> but the <code>CoreModule</code> is already imported in the <code>AppModule</code>.</p>
  
  <p>When import the <code>CoreModule</code> in the <code>ProductModule</code> then works fine.</p>
  
  <p>My questions are:</p>
  
  <ul>
  <li>The core module should not be imported only one time, in the AppModule?</li>
  <li>How can exports components in the core module to allow the use in any place without need import every time?</li>
  </ul>
  
  <h3>Edit1:</h3>
  
  <hr>
  
  <p>Reading this (<a href="https://angular.io/docs/ts/latest/guide/ngmodule.html#!#add-the-contactmodule" rel="nofollow noreferrer">https://angular.io/docs/ts/latest/guide/ngmodule.html#!#add-the-contactmodule</a>) I can see:</p>
  
  <blockquote>
    <p>Modules don't inherit access to the components, directives, or pipes that are declared in other modules. What AppModule imports is irrelevant to ContactModule and vice versa. Before ContactComponent can bind with [(ngModel)], its ContactModule must import FormsModule.</p>
  </blockquote>
  
  <p>Reading the above, I suppose that is required import my CoreBundle to use theirs components.</p>
  
  <p>But in the other documentation say (<a href="https://angular.io/docs/ts/latest/guide/style-guide.html#04-12" rel="nofollow noreferrer">https://angular.io/docs/ts/latest/guide/style-guide.html#04-12</a>) </p>
  
  <blockquote>
    <p>Only the root AppModule should import the CoreModule. </p>
  </blockquote>
  
  <p>That is a bit contradictory, unless the <code>spinner</code> can be used only in the AppComponent, in this case, why put the spinner in the <code>coreModule</code> and not directly in the <code>AppModule</code>.</p>
  
  <p>I'm missing something...?</p>