为什么 Angular 需要入口组件?

发布于 2025-02-26 02:11:42 字数 410 浏览 4 评论 0

入口组件也是被声明的。为什么 Angular 编译器不为 @NgModule.declarations 中的每个组件都生成一份代码呢?那样就不需要入口组件了。

原因在于 tree shaking 。对于产品化的应用,我们希望加载尽可能小的代码。 代码中应该仅仅包括那些实际用到的类。 它应该排除那些我们从未用过的组件,无论该组件是否被声明过。

事实上,大多数库中声明和导出的组件我们都用不到。如果我们从未引用它们,那么 tree shaking 就会从最终的代码包中把这些组件砍掉。

如果 Angular 编译器为每个声明的组件都生成了代码,那么 tree shaking 的优化作用就没了。所以,编译器转而采用一种递归策略,它只为我们用到的那些组件生成代码。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

文章
评论
28 人气
更多

推荐作者

闻呓

文章 0 评论 0

深府石板幽径

文章 0 评论 0

mabiao

文章 0 评论 0

枕花眠

文章 0 评论 0

qq_CrTt6n

文章 0 评论 0

红颜悴

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文