前言:
即将又是在北京的一個十一,突然想起了什麼,去年好像十一也是在北京,也在**度過的。自從決全身心進入前端這個行當,也是很久沒有這麼安安靜靜地寫一些東西了,以後的路很長,希望自己還是一樣,一步一步地走踏實了。
正文:
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