相信作过SPA项目的朋友都遇到过这个问题:页面初始化时须要加载文件太大或太多了,许多文件加载后极可能不会运行到,这是赤裸裸的资源浪费。从性能角度出发,理想的 SPA 应该是:按需加载。
实现资源按需加载的方式有不少,不过在angular 1.x环境下存在这样一个问题:angular默认的模块化机制(使用angular.module
实现)须要在bootstrap前完成加载、注册,不然会报找不到provider。幸运的是,ocLazyLoad经过重写angular.module
函数,解决了上述问题,因此,咱们能够大胆放心的使用ocLazyLoad进行异步模块化开发了。
在此分享一个基于 requirejs + angularjs + ocLazyload
的 Angularjs 异步模块加载项目模板。
---css
模板中主要用到以下技术:node
运行项目模板,查看demo,在已安装bower, node
的前提下请运行以下命令:git
bower install npm install
如今,依赖已经安装完毕,接下来可执行打包:angularjs
gulp -a
或者直接进行开发:github
gulp watch
就能够看到页面了npm
// 开发环境 gulp watch // 打包 gulp -a // 部分打包 gulp