Import Module only once in Angular 2
<p>Fairly new to angular 2 and still learning.
As far as I have read about using Modules in Angular 2 and importing them in the application is that they are shared with their children. In the code below I am trying to share ReactiveFormsModule application wide, but application crashes while compiling.
I did accomplish this for my custom modules using the forRoot method, but I can't understand how to do it with the builtin ngModules.</p>

<p>app.module.ts</p>

<pre><code>import { NgModule } from '@angular/core';
import { HttpModule } from '@angular/http';
import { ReactiveFormsModule } from '@angular/forms';
import { AppRoutingModule } from "./app-routing.module"
import { AppComponent } from './app.component';

import { HomeModule } from "./home/home.module";
import { AuthenticationModule } from "./authentication/authentication.module";
import { APIServiceModule } from './services/api-service.module';


@NgModule({
  imports: [HttpModule,
    ReactiveFormsModule,
    AppRoutingModule,
    AuthenticationModule,
    HomeModule,
    APIServiceModule.forRoot()
  ],
  declarations: [
    AppComponent
  ],
  bootstrap: [AppComponent],
})
export class AppModule { }
</code></pre>

<p>authentication.module.ts</p>

<pre><code>import { NgModule } from "@angular/core";
import { BrowserModule } from '@angular/platform-browser';

import { AuthenticationComponent } from "./authentication.component";
import { AuthenticationRoutingModule } from "./authentication-routing.module"
@NgModule({
    imports: [AuthenticationRoutingModule, BrowserModule],
    declarations: [AuthenticationComponent]
})
export class AuthenticationModule { }
</code></pre>

<p><code>AuthenticationModule</code> is imported in <code>AppModule</code> I want Reactive forms module to be shared across modules. But it fails while compiling.</p>