异步加载 angular 个控制器和工厂

Async load angular controllers and factories

我正在构建一个 angular 应用程序。该应用程序变得太大,我的索引 html 被 80 多个 javascript 文件轰炸。我捆绑并缩小了 JS 文件,但在应用程序启动时加载所有脚本文件并不是一个好主意。

我怎样才能只在需要时加载脚本?

使用AngularJS 进行延迟加载并不像按需下载文件那么简单。 Angular 通常需要 ui 提前重新获取其所有组件,例如模块、指令、服务,但可以异步下载的模板除外。

这个特定问题有多种解决方案。 ocLazyLoad 成为其中之一。

您可以在需要时使用 ocLazyLoad 下载控制器、模块、服务。还支持使用带有 ocLazyLoad 的 angular-ui 路由器进行路由。您甚至可以结合使用 ocLazyLoad 和 RequireJS,这样您就可以使用 Require 的 r.js 优化器按照具有最少配置的模块连接文件。

OcLazyLoad 在我上面提到的 link 中针对不同情况提供了很好的示例,但我还制作了一个具有基本结构的示例 Angular-Boilerplate 和具有组合模块任务的 Gruntfile。 (我应该为样板 thogh 添加一些文档)