angular 8でルーターと遅延読み込みを使用しようとしています。以前はAngular 7で正常に使用していました。
次のようないくつかの基本的なルートがあります。
/home
/auth
/auth/login
/auth/signUp
にリダイレクトし、他のすべて/auth
を にリダイレクトしたいと思います。
これを達成するために、私の見た目は次のようになります。 /auth/login
/home
app-routing.module.ts
const routes: Routes = [
{
path: '',
redirectTo: '/home',
pathMatch: 'full'
},
{
path: 'auth',
loadChildren: () => import('./modules/auth/auth.module').then(m => m.AuthModule)
},
{
path: 'home',
loadChildren: () => import('./modules/home/home.module').then(m => m.HomeModule)
},
{
path: '**',
redirectTo: '/home',
pathMatch: 'full'
}
];
そして、私は次のようにauth-routing.module.ts
見えます:
const routes: Routes = [
{
path: '',
redirectTo: '/auth/login',
pathMatch: 'full'
},
{
path: 'login',
component: LoginComponent
},
{
path: 'signUp',
component: LogoutComponent
}
];
問題は、常に認証ページにリダイレクトされ、他のリダイレクトが無視されることです。およびパスもルート レベルで使用できますが、これは奇妙ですが、さらに独特な which をプレフィックスとして付けた場合にも機能し/login
ます。 /signUp
/auth/login
そのため、何らかの理由でルートが 2 回存在するように見えます。
また、パスの前にプレフィックスを付けると、auth-routing.module.ts
突然auth/
に直接送信できるようになります/auth/auth/login
アイビーと遅延読み込みを機能させるために、Angular 8 の必要なすべての機能を有効にしました。私が定義した他のルートと遅延モジュールは機能しています。