bugfix> angular > 投稿

アンギュラー6カルマを備えた遅延モジュールでルーターナビゲーションをテストしようとしています。しかし、私はコンソールエラーが発生していました

Cannot find module app/features/landing/landing.module#landingPageModule

それから私は使用します

loader = TestBed.get(NgModuleFactoryLoader); loader.stubbedModules = { 'landingPageModule': LandingPageModule };

router.resetConfig([
    {path: 'main', loadChildren: 'landingPageModule'},
    {path: 'main/auth/login', loadChildren: 'AuthModule'},
    {path: 'main/auth/sign-up', loadChildren: 'AuthModule'}
]);

私がナビゲートしているとき、すべてが順調です

{path: 'main', loadChildren: 'landingPageModule'},

しかし、私がナビゲートしているとき

{path: 'main/auth/login', loadChildren: 'AuthModule'},

私はまだ得ています

Cannot find module app/features/auth/auth.module#AuthModule  コンソールのエラー。

LandingPageroutesはこのように見えます

export const landingPageRoutes: Routes = [
{path: '', component: HomeComponent, canActivate: [AuthGuard],data: {roles: ['user']}},
{
    path: 'auth', component: LandingPageComponent, children: [
        {path: '', pathMatch: 'full', redirectTo: 'login'},
        {path: '', loadChildren: 'app/features/auth/auth.module#AuthModule'},
    ]
},

AuthModuleはLandingPageModuleで宣言されているため、「SpyNgModuleFactoryLoader」で2つのモジュールをスタブする必要がありますが、機能していません

loader = TestBed.get(NgModuleFactoryLoader);
    loader.stubbedModules = {
        'AuthModule' : AuthModule,
        'landingPageModule': LandingPageModule
    };

回答 1 件
  • 問題は

    router.resetConfig([
            {path: 'main', loadChildren: 'landingPageModule'},
            {path: 'main/auth/login', loadChildren: 'AuthModule'},
            {path: 'main/auth/sign-up', loadChildren: 'AuthModule'}
        ]);
    
    

    router.resetConfig で2つの異なるモジュールを宣言する必要はありません 変更 AuthModule を置き換える landingPageModule と  。

        router.resetConfig([
            {path: 'main', loadChildren: 'AuthModule'},
            {path: 'main/auth/login', loadChildren: 'AuthModule'},
            {path: 'main/auth/sign-up', loadChildren: 'AuthModule'}
        ]);
    
    

あなたの答え