2017-06-27 5 views
1

私は遅延ロードでそれらのモジュールをロードしている2つのモジュールを持っています。遅延ロードモジュールがモジュールjsファイルをロードしない

@NgModule({ 
    imports: [ 
     CommonModule, 
     RouterModule.forChild([ 
      { 
       path: '', component: PassangerComponent 
      } 
     ]) 
    ], 
    declarations: [ 
     PassangerComponent 
    ], 
    providers: [ 
     PassangerService 
    ] 
}) 
export class PassangerModule { 
} 

今、私は/製品にナビゲートする場合:AppModuleが続く

@NgModule({ 
    imports: [ 
     BrowserModule, 
     FormsModule, 
     HttpModule, 
     CabModule, 
     RouterModule.forRoot([ 
      { path: '', component: CabComponent }, 
      { path: 'Cabs', component: CabComponent }, 
      { path: 'Passanger', loadChildren: 'App/Passanger/passanger.module#PassangerModule' } 
     ]) 
    ], 
    declarations: [ 
     AppComponent, 
     CabComponent, 
     CabFilterPipe, 
     CabAddComponent 
    ], 
    bootstrap: [AppComponent], 
    providers: [ 
     CabService 
    ] 
}) 
export class AppModule { } 

とProductModuleは、次のように定義されるように定義されて

  1. AppModule
  2. PassangerModule

それ仕事と試行ではなく、それはpassanger.module.js

にGETを適用する必要があります有効なパスではありませんhttp://localhost:3000/App/Passanger/passanger.module上の要求をGETしません私はルートモジュールを変更することがsystemjs.config.js

答えて

1

でjsのようdefaultExtensionを持っていることを確認倍増しましたApp/...を小文字のapp/...に設定してください。

なぜ私はその文字列が大文字と小文字を区別しているのかわかりませんが、それは私のために働いていました。

RouterModule.forRoot([ 
      { path: '', component: CabComponent }, 
      { path: 'Cabs', component: CabComponent }, 
      { path: 'Passanger', loadChildren: 'app/Passanger/passanger.module#PassangerModule' } 
     ]) 
+0

興味深い!だからパスが大文字と小文字を区別しているように見える –

+0

@FredrikLundinフォルダ名は 'App'ではなく' app'です。理由はわかりませんが、小文字の名前でしか動作しません。 –

+0

このtsconfig.jsonの理由には、defaulse falseのオプション --forceConsistentCasingInFileNamesがあります。以下のリンクで確認できます http://www.typescriptlang.org/docs/handbook/compiler-options.html –

関連する問題