seaJS是一個遵循CMD規範的JS模塊加載框架。html
1.下載git
github地址:https://github.com/seajs/seajsgithub
下載好後,在dist(distribution)文件夾下,有sea.js和sea-debug.js,sea.js是壓縮過的放在生產環境的,sea-debug.js用於開發調試。併發
2.使用框架
文件目錄以下,其中在x文件夾下放了x.js,y文件夾下放了y.js,其中y爲入口模塊,調用x模塊。函數
main.html以下ui
x.js文件以下debug
y.js文件以下調試
3.解讀htm
(1)seajs.use
至關於入口函數,調用y模塊,成功後執行回調,返回y的暴露值。
另外,還能夠經過data-main和data-config設置入口模塊。
use 方法還能夠一次加載多個模塊:
// 併發加載模塊 a 和模塊 b,並在都加載完成時,執行指定回調
seajs.use(['./a', './b'], function(a, b) {
a.init();
b.init();
});
(2)define(function(require,exports,module){...})
定義模塊的完整結構是define(id?,dependencies?,factory),可是通常不推薦寫id和dependecies,而只寫一個工廠函數。
具體可參考張鑫旭的技術博客:http://www.zhangxinxu.com/sp/seajs/docs/zh-cn/module-definition.html
在只寫一個工廠函數的時候,也就成了下面的樣子
define(function(require,exports,module){...})
其中require能夠用來引用其餘模塊,exports和module能夠將該模塊的方法暴露出去。
3.其餘
(1)seajs.config
(2)對外API的方法
1.帶塊區域只有一個對象時,默認返回該對象。
2.先寫業務代碼,return一個對象。
3.給exports添加屬性和方法,可是不能直接給exports賦值
4.給module的exports賦值