当我点击菜单项时,加载时间太长
这是我的应用程序路由模块.ts
const routes: Routes = [
{
path: '',
children: [
{
path: 'login',
loadChildren: () => import('./pages/login/login.module').then(m => m.LoginModule)
},
{
path: 'products',
loadChildren: () => import('./pages/products/products.module').then(m => m.ProductsModule)
},
{
path: 'retailer-home',
loadChildren: () => import('./pages/retailer-home/retailer-home.module').then(m => m.RetailerHomeModule)
},
]
}
];
这是我的产品路由模块.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { ProductsComponent } from './products.component';
const routes: Routes = [
{ path: '', component: ProductsComponent }
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class ProductsRoutingModule {}
当我第一次点击菜单时,加载时间太长了。
这是网络选项卡
由于您使用的是
lazy loading
,因此仅在访问路由时才获取js文件,也许这就是延迟的原因,加快速度的一种常见方法是预加载所有模块,以便在网站加载时,模块在后台预加载,可以减轻这种等待的影响!
import { NgModule } from '@angular/core';
import {Routes, RouterModule, PreloadAllModules} from '@angular/router';
@NgModule({
imports: [RouterModule.forChild(routes, {
preloadingStrategy: PreloadAllModules // <-changed here!
})],
exports: [RouterModule],
})
export class AppRoutingModule {}