You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular15中relativeLinkResolution失效及loadChildren路由解析异常

Angular 11.2.2 迁移至15.2.8 问题解决方案

1. relativeLinkResolution 配置报错问题

relativeLinkResolution 属性在Angular 14中被废弃,Angular 15已完全从ExtraOptions类型中移除,因此配置该属性会触发类型错误。

  • 解决方法:直接删除relativeLinkResolution: 'legacy'这行配置。Angular 15的相对链接解析逻辑已默认对齐原legacy模式的行为,无需额外配置。
  • 若迁移后仍存在相对导航异常,可在路由导航时显式指定relativeTo参数,示例代码:
    this.router.navigate(['../sibling'], { relativeTo: this.route });
    

2. loadChildren 无法解析及哈希路由配置问题

loadChildren 废弃与替代方案

loadChildren的字符串写法(如'./dashboard/dashboard.module#DashboardModule')在Angular 13之后被废弃,Angular 15已不再支持该写法,需改用函数式懒加载语法:

  • 旧写法(已废弃):
    {
      path: 'dashboard',
      loadChildren: './dashboard/dashboard.module#DashboardModule'
    }
    
  • 新写法(替代方案):
    {
      path: 'dashboard',
      loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule)
    }
    

如果使用Angular 14+支持的独立组件路由,也可直接用loadComponent:

{
  path: 'dashboard',
  loadComponent: () => import('./dashboard/dashboard.component').then(c => c.DashboardComponent)
}

哈希路由配置(实现localhost:4200/#/dashboard)

要启用哈希模式路由,需在RouterModule.forRoot的配置项中添加useHash: true:

RouterModule.forRoot(routes, {
  useHash: true
})

配置后路由会自动添加#前缀,匹配你期望的路径格式。

内容的提问来源于stack exchange,提问作者Vishesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 00:12:41