jmd.jsJavascript 模塊化管理庫
jmd.js 是極小型、高性能 Javascript 模塊化管理庫(瀏覽器端)。
特點
遵循規(guī)范,可以像Node.js 一樣來寫模塊代碼(參見:AMD、CMD)
完全異步,不對源碼做任何改動、沒eval、setTimeout,全速加載!
干干凈凈,只有一個函數(shù):define,連學習文檔都不需要了!
代碼小巧,壓縮后: 1.6kb,移動平臺、各種瀏覽器都支持
用著放心,依賴關(guān)系自動維護,井井有序,不存在重復加載等問題
如何使用
<html> <head> <script src="jmd.js"></script> <script src="main.js"></script> </head> <body> </body> </html>
main.js是你的程序的入口,名字也可任意的
定義模塊:
var dao = require('dao');
module.exports = {
//TODO:
};
與Node模塊完全一致, 需要在Grunt的插件concat做一下配置。
定義模塊(純?yōu)g覽器端):
// main.js
define('main', function (require, module, exports){
var util = require('util');
var $ = require('jquery');
module.exports = {
//TODO:
};
});
// util.js
define('util', ['zip', 'md5'] , function (require, module, exports){
function trim(str){
}
module.exports.trim = trim;
});
模塊名稱就是文件的名稱, 多個模塊也可以寫在一個js文件中(例如最后壓縮成一個js文件也可以,不需要關(guān)心順序)。
配置
修改加載目錄:
define.config.findPath = './js/'; // 默認為當前頁面所在目錄(./)
開啟調(diào)試模式:
define.config.debug = true;
然后在控制臺查看包加載和依賴關(guān)系:
第三方js庫:
// 假如第三方庫是jquery
var $ = require('jquery');
// 如果jquery沒有遵循CMD或者AMD,下面兩種寫法均可:
var bar = require('jquery'); // 寫法一
require('jquery'); // 寫法二
// 正常使用
$('div').css({});
module.exports = {
//TODO:
};
貢獻
僅僅一個不錯的開始還不夠,還需要你的加入,F(xiàn)ork me!
評論
圖片
表情
