关于RequireJS与AngularJS的集成文档

为什么要整合RequireJS

RequireJS是一个Javascript 文件和模块框架,通过模块的方式来配置js文件之间的依赖关系,遵守的是CommonJS的AMD标准。

在开发的时候则无需关注某个js是否应该在另一个js之前先引入,也不需要去写一大堆冗长的js引入代码。

模块化后,RequireJS按需加载,用到哪个模块则加载哪个js文件,这对于Angular中的Route非常重要(Angular的Route配置中,所有Controller的配置文件都是一次性加载完毕的,不过同样还得需要引入一个第三方的小插件来实现这个功能)。

同时他加载js是异步的,不会阻塞页面渲染。

1、 简单demo的项目目录如下

 

 

 

2、在首页index.html只需要引入requireJs库文件,并且指明入口函数main.js

 

首页引入这个js

 

<script data-main="scripts/main.js"  src="scripts/ext/require.js"></script>

 

3、配置main.js

 

关于require.config()中的配置大概如下,文件名称不需要加 .js后缀,requireJS会在运行时自己加上

 

  baseUrl

模块查找的根目录,默认情况与data-main所赋值处于同一目录

 paths //定义出所有的js模块

 shim  //定义模块的依赖关系和自身暴露的属性

启动app入口,进入app.js

 

4、项目路由配置

 

 

define 是定义一个模块,同时引入依赖的模块。define接受两个参数,

第一个参数是一个数组,用来表示依赖的模块,

第二个参数则是一个函数,用来定义这个模块本身的行为

 

 

 

 

5、一个angular应用是跑起来的“入口”

 

不去指定ng-app,通过JS代码执行:angular.bootstrap(element, ['模块名'...]),一样也是可以启动的(比如:angular.bootstrap(document, [myModule.name]);)

 

6、控制器动态加载所需文件(service、directive…等) 

 

 

 

posted @ 2016-01-09 21:43  zzp5980  阅读(996)  评论(0编辑  收藏  举报