异步负载角度控制器和工厂

时间:2015-03-29 09:28:29

标签: javascript angularjs requirejs browserify webpack

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

如何仅在需要时加载脚本?

1 个答案:

答案 0 :(得分:1)

使用AngularJS进行延迟​​加载并不像按需下载文件那么简单。 Angular通常需要所有组件,如模块,指令,服务,除了可以下载异步的模板。

针对此特定问题,有多种解决方案。 ocLazyLoad是其中之一。

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

OcLazyLoad在我上面提到的链接中有不同案例的很好的例子,但我也制作了一个具有基本结构的样本Angular-Boilerplate和具有组合模块的任务的Gruntfile。 (我应该为样板文件添加一些文档)