标签:
RequireJS出现的目的主要是为了鼓励代码的模块化。相对于正常页面的一堆script标签,RequireJS只需要在页面加载一个JS文件,即requirejs的文件,同时设置data-main属性为函数入口的JS文件,在作为入口的JS文件中异步加载其他的JS文件。
RequireJS是基于AMD规范的实现。所以首先来学习一下AMD规范吧。AMD全称是异步模块定义规范,和AMD处理器并没有什么关系。。AMD规范只定义了一个API:define(),它是一个全局变量,函数描述如下:
define(id?, dependencies?, factory);
其中id和dependencies都是可选的,下面解释一下这3个参数
1、id:代表定义的模块的名字。是字符串。如果提供了该参数,则该参数一定是顶级的和绝对的(不允许相对名字--不知道是不是指不能使用相对路径来命名的意思?不过感觉一般也不会这么命名。。)如果没有提供的话,就默认为脚本的文件名
2、dependencies:依赖。是个数组。即加载该模块前需要加载完成的其他模块。数组里面模块的顺序和第三个参数factory函数里面参数的顺序是对应的。如果没有提供该参数,则默认为["require", "exports", "module"]。
3、factory:工厂方法。为函数或对象。如果是对象,则该对象就是该模块要输出的对象。若为函数,则该函数只会被执行一次。如果函数返回一个值,则应被设为模块的输出值。
具体例子可以参考这里:https://github.com/amdjs/amdjs-api/wiki/AMD-(%E4%B8%AD%E6%96%87%E7%89%88)或者在网上自己去寻找教程。
标签:
原文地址:http://www.cnblogs.com/welk/p/4872641.html