菜单上单击角度加载时间

问题描述 投票:0回答:1

当我点击菜单项时,加载时间太长

这是我的应用程序路由模块.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 {}

当我第一次点击菜单时,加载时间太长了。

这是网络选项卡

enter image description here

angular routes menu angular-ui-router lazy-loading
1个回答
0
投票

由于您使用的是

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 {}
© www.soinside.com 2019 - 2024. All rights reserved.