前言:
即将又是在北京的一个十一,突然想起了什么,去年好像十一也是在北京,也在**度过的。自从决全身心进入前端这个行当,也是很久没有这么安安静静地写一些东西了,以后的路很长,希望自己还是一样,一步一步地走踏实了。
正文:
AMD --------- Asynchronous Module Definition
异步模块定义
1、define
参数:
- id
模块标识 {String}
参数是可选的
- dependencies
所依赖的模块
- factory
模块的实现,或者一个JavaScript对象
官方提供的一个例子:
用require 和 exports
define("alpha",["require","exports","beta"],function(require,exports,beta){ exports.verb = function(){ return beta.verb(); //or .... // return require("beta").verb(); } });
一个匿名的模块,返回一个对象
define(["alpha"],function(alpha){ return { verb:function(){ return alpha.verb() + 2; } }; });
一个用简单的CommonJS包裹的方式来定义模块
define(function(require,exports,module){ var a = require("a"), b = require("b"); exports.action = function(){}; });
自由定义的模块可以定义一个对象
define({ add:function(x,y){ return x + y; } });
注释:
dependencies的顺序和factory参数是一一对应的。
扩展阅读:
1、https://github.com/amdjs/amdjs-api/wiki/AMD