0

私は奇妙なエラーが発生しています。私はAngular 4ベースのプロジェクトを開発中です。 私のコード構造に続いて

  • アプリ
  • app.component.html
  • app.component.ts
  • app.module.ts
  • app.routing.module.ts
    • ダッシュボード
    • dashboard.component.html
    • dashboard.component.ts
    • dashboard.module.ts
    • dashboard.routing.module.ts
      • 最初
      • first.component.html
      • first.component.ts
      • first.module.ts
      • 最初のルーティングモジュール

ダッシュボードから最初にロードしようとすると、次のエラーが発生します。

    ERROR Error: Uncaught (in promise): Error: Cannot find module 'app/dashboard/first/first.module'.
Error: Cannot find module 'app/dashboard/first/first.module'.
    at webpackAsyncContext (src async:14)
    at SystemJsNgModuleLoader.webpackJsonp.../../../core/@angular/core.es5.js.SystemJsNgModuleLoader.loadAndCompile (core.es5.js:5644)
    at SystemJsNgModuleLoader.webpackJsonp.../../../core/@angular/core.es5.js.SystemJsNgModuleLoader.load (core.es5.js:5632)
    at RouterConfigLoader.webpackJsonp.../../../router/@angular/router.es5.js.RouterConfigLoader.loadModuleFactory (router.es5.js:3417)
    at RouterConfigLoader.webpackJsonp.../../../router/@angular/router.es5.js.RouterConfigLoader.load (router.es5.js:3401)
    at MergeMapSubscriber.project (router.es5.js:1569)

以下は私のapp.routing.moduleコードです

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

const routes: Routes = [
     { path: '', loadChildren: 'app/login/login.module' },
    { path: 'dashboard', loadChildren: 'app/dashboard/dashboard.module' },

];

@NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule]
})
export class AppRoutingModule { }

コンパイル時にエラーはありません。しかし、dashboard.routing.module.tsにスペースを追加してファイルを保存すると、エラーが解消され、ルーティングが完全に機能します。ノードサーバーを再起動するまでスムーズに実行されます。


  • app.routing.module.tsファイルのコードを表示して、遅延ロードパスを設定する方法を教えてください。 - Sathish Kotha
  • 私は自分の質問を編集し、app.routing.moduleコードを追加しました。 - mandar
  • app.routing.module.tsファイルの最初のモジュールのloadchildrenパスはどこですか? - Sathish Kotha
  • これをチェックして幸いです。 - Sathish Kotha
  • ありがとうSathish。このリンクは、私が問題を解決するのを助けました。すべてのモジュールを再訪し、デフォルトのクラスをAppRoutingModule {}にエクスポートしました。私はデフォルトを持っていたいくつかの他のモジュールが問題を引き起こしていた。 - mandar

1 답변


0

このようなコードを変更してみてください。

   const routes: Routes = [
                    { path: '', loadChildren: 'app/login/login.module#loginModule'},
                    { path: 'dashboard', loadChildren: 'app/dashboard/dashboard.module#dashboardModule' },     
                    { path: 'dashboard/first',loadChildren:'app/dashboard/first.module#firstModule'}
                 ];
               @NgModule({
                    imports: [RouterModule.forRoot(routes)],
                    exports: [RouterModule]
           })
        export class AppRoutingModule { } 

loadChildrenの情報をもっと見るロードアイランドコンセプト

リンクされた質問


関連する質問

最近の質問