ANGLE v17以后的版本默认使用CLI中的独立方法,并且没有更明确地使用@NgModule来组织应用程序.我的问题是关于使用新的默认配置的延迟加载.

假设我用以下方式定义我的路由(因为我使用独立组件):

export const routes: Routes = [
    {'path' : '', component: DashboardComponent},
    {'path' : 'users', component: UsersComponent},
    {'path' : '**', component: DashboardComponent},
];

延迟加载是否仍然适用于这种新的面向独立的方法,或者是否有必要坚持传统的@NgModule和功能模块的方式来应用Angular v17中的延迟加载概念?我很感激任何与这种潜在的行为变化相关的见解,经验或文档参考.

推荐答案

如果您想对独立组件使用延迟加载,您可以使用loadComponent而不是component

Lazy loading a standalone component - Angular Docs

export const routes: Routes = [
    {'path': '', component: DashboardComponent},
    {
      // here users route component will get lazy loaded, by using a callback with import statement!
      'path': 'users', 
      loadComponent: () =>
      import('./app/users/users.component').then(
        (mod) => mod.UsersComponent
      ),
    },
    {'path': '**', component: DashboardComponent},
];

你仍然可以使用ngModulesit可以接受,只是单机版是新的主流方式.

这是一个堆栈闪电战,其中两个都实现了,来自另一个SO问题

SO Question

Forked Stackblitz

Typescript相关问答推荐

如何根据参数的值缩小函数内的签名范围?

动态判断TypScript对象是否具有不带自定义类型保护的键

如何防止TypeScript允许重新分配NTFS?

打印脚本丢失函数的泛型上下文

TypeScrip原始字符串没有方法

类型脚本返回的类型包含无意义的泛型类型名称

如何使默认导出与CommonJS兼容

react 路由Use RouteLoaderData类型脚本错误

如何通过TypeScrip中的函数防止映射类型中未能通过复杂推理的any值

使用动态输出类型和泛型可重用接口提取对象属性

在Cypress中,您能找到表格中具有特定文本的第一行吗?

三重融合视角与正交阵

为什么类型脚本使用接口来声明函数?他的目的是什么.

有没有一种更好的方法来存储内存中的数据,而不是在类型脚本中使用数组和基于索引的函数?

如何实现允许扩展泛型函数参数的类型

从联合提取可调用密钥时,未知类型没有调用签名

导航链接不触发自定义挂钩

如何使用 Angular 确定给定值是否与应用程序中特定单选按钮的值匹配?

具有枚举泛型类型的 Typescript 对象数组

解析错误:DeprecationError: 'originalKeywordKind' 自 v5.0.0 起已被弃用,无法再使用