
Google将在开源前端框架Angular 19中,默认所有组件、指令和数据管线为独立模式,供开发者创建不仰赖NgModules的应用程序,以简化开发流程并让应用程序更容易优化。这项重大变更将能够降低Angular的学习门槛,同时激活像路由延迟加载和指令组合API等新功能。
独立模式是Angular让组件、指令和工作管线不仰赖NgModules的写法,简化了应用程序开发结构。其最初在Angular 14中以开发者预览形式推出,并在后续版本进入稳定状态,现在于Angular 19成为官方推荐的应用程序编写方式。
而NgModules是Angular中用来组织应用程序的模块系统,其核心概念是将Angular应用程序分割成更小、可管理的模块,通过将相关组件、指令、数据管线和服务集结在一起形成功能单元,并通过模块导入与导出,进行共享或是隔离应用程序。
虽然NgModules提供了结构化的组织方式,但是随着应用程序的规模扩大,模块之间的相依关系变得越来越复杂,这导致初学者学习曲线升高且维护成本增加。特别是当模块之间存在循环相依和过度耦合时,会大幅增加代码的复杂度,也使得维护和调试变得更加困难。
即将在Angular 19成为默认的独立模式,有助于解决这些问题,开发者不再需要处理NgModules的配置,初学者更容易上手之外,开发者也可更专注于组件本身的开发,减少不必要的复杂性。而且独立模式也使得应用程序结构更加模块化和清楚。Angular 19独立模式提高了应用程序的灵活度和性能,支持像是路由层级的延迟加载,可优化加载速度,而Deferrable Views允许按需加载组件,进一步提升性能。
目前Angular不会弃用NgModules,开发者仍可以通过设置关闭独立模式来编写NgModule组件。对于带有NgModules的NPM函数库,其使用方式不会改变,即便激活了strictStandalone选项,独立组件仍可导入NgModule相依项目。针对发布于NPM上的函数库,无论开发者是否采用Angular 19新默认设置,这些组件都会继续正确运作,且不需要进行额外调整。