分离 NgModule 会减少构建时间吗

Does seperating NgModules decrease the build time

假设我们有一个大 NgModule SharedModule,它导出了多个组件中需要的许多组件。通过将 SharedModule 导入功能模块通常会产生开销,因为所有共享组件都会被导入,而不仅仅是那些必需的组件。拆分 SharedModule 会减少 build-/compilation 时间吗?除了可读性更好的代码之外,将其拆分成更小的模块还有什么好处吗?

非常感谢您的帮助!

您可以实施延迟加载,这将减少您的应用加载时间 将功能拆分为模块将减少应用程序加载时间 你可以实现延迟加载,你的应用程序将按需在客户端加载,就像你有 5 个模块一样,用户想要使用第 5 个模块,然后这个唯一的模块将在客户端加载。不会加载其他 4 个模块。 浏览器首先在客户端下载您的应用程序然后 extracted.your 5 模块大小为 5MB 然后在延迟加载后您的应用程序大小将在不同的块中。模块大小将根据功能而定。

我不确定模块化方法后编译时间是否会减少。但是你的应用程序加载时间肯定会减少,这很重要,

您的代码将得到良好的管理和可读性。将根据 angular 最佳实践

模块化方法将降低代码的复杂性

大模块不是好的方法。 如果您正在开发大型应用程序,迟早您必须将应用程序模块化,否则维护或应用程序加载时间将不容易解决

来自官方网站angular.io:

根模块是您在具有几个组件的简单应用程序中所需要的全部。随着应用程序的增长,您将根模块重构为代表相关功能集合的功能模块。然后将这些模块导入根模块。

划定应用的区域有助于开发人员和团队之间的协作、分离指令以及管理根模块的大小。 功能模块是一种组织最佳实践,而不是核心概念Angular API。

减少build-/compilation时间没有任何意义,所以我认为这是有道理的

对于具有大量路由的大型应用,请考虑 lazy loading——一种根据需要加载 NgModule 的设计模式。