gpt4 book ai didi

angular - 有没有办法在 Angular 中延迟加载组件而不是模块?

转载 作者:太空狗 更新时间:2023-10-29 16:54:38 27 4
gpt4 key购买 nike

延迟加载是一种常用的技术。然而,在 Angular 中,这种技术的粒度级别似乎只停留在模块级别。

这意味着您可以在浏览器中加载主模块,然后在特殊情况下可以延迟加载模块 B、C 和 D。

几乎所有网络教程都对此进行了解释。但是,有没有办法延迟加载组件?

考虑这个简单的例子,用户进入应用程序,当点击“发票”链接时,URL 更改为新路由 /invoice/list 并且进度条显示加载,而 invoices 组件,包括 HTML 和 JS,在浏览器中加载,动态注册到主模块,并显示在相关的 outlet 中。 Angular 有可能吗?

最佳答案

延迟加载组件是不可能的。这种行为的原因是 Angular 结构。 Angular 组件必须是模块的一部分。 Angular 模块是一个容器,您可以在其中定义所有组件、服务、管道等。目前在里面。在构建应用程序 dist 时,模块中声明的所有依赖项都包含在一个 block 中(转译后的 js 代码)。所有直接导入的模块一起形成主 block ,而标记为延迟加载的模块形成一个单独的 block ,该 block 位于服务器上,直到命中相应的路由并从客户端对其进行调用。现在组件不形成 block ,因此不可能

关于angular - 有没有办法在 Angular 中延迟加载组件而不是模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48124682/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com