AMD规范的实现者RequireJS
AMD是异步加载模块的,适用于前端。
定义模块:define(模块名,依赖的模块,facetory)
//第一个参数模块名其实没啥用,可以不写。有路径就可以引入模块了 //定义模块A,没有依赖其他模块 //A.js文件 define(function(){ function getNum(){ return 1 } return { getNum:getNum } }) //定义模块B,依赖模块A,function里面的参数和依赖的模块对应 //["moduleA"]可以写成["moduleA.js"] 或者["./moduleA.js"] //B.js文件 define(["moduleA"],function(moduleA){ var index=moduleA.getNum(); return{ addIndex:function(){ index+=1 } } }
加载模块
require(["moduleA","moduleB"],function(moduleA,moduleB){ dosomething...; })