在 Angular 中,异步路由(Async Route)是实现动态加载模块或组件的核心机制,常用于按需加载功能模块或延迟初始化路由。以下是关键要点👇
🧩 什么是异步路由?
异步路由通过 loadChildren
属性实现,支持:
- 按需加载模块(
NgModule
) - 动态解析路由配置
- 优化应用性能(减少初始加载时间)
例如:
const routes: Routes = [
{
path: 'dashboard',
loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule)
}
];
🛠️ 实现异步路由的步骤
创建子模块
用ng generate module
命令生成模块文件定义子路由
在子模块中配置RouterModule.forChild()
关联父路由
通过loadChildren
引用子模块
📌 常见应用场景
- 功能模块隔离(如用户中心、支付模块)
- 延迟加载大体量模块(减少首屏加载时间)
- 动态路由解析(结合路由守卫实现权限控制)
🚀 优化技巧
- 使用
RouteReuseStrategy
保持路由状态 - 配合
PreloadStrategy
预加载高频路由 - 监控模块加载状态(通过
import()
的 Promise)
👉 深入理解Angular路由机制 可获取更多路由相关知识
Angular官方文档 提供完整API参考
📌 提示:异步路由配合懒加载(Lazy Loading)可显著提升应用性能,但需注意模块拆分的粒度控制。