BrowserRequireWeb 前端模塊化框架
BrowserRequire 是給瀏覽器使用的模塊化框架,并且提供靈活加載js文件(非模塊化文件)的功能。
中文使用指南:點擊進入!
目錄介紹
dist————BrowserRequire框架壓縮文件
example————示范案例
src————BrowserRequire源代碼
要使用BrowserRequire只需要下載dist內(nèi)的文件即可。
編寫目的
在過去的Web開發(fā)中,遇到現(xiàn)有的模塊化框架無法滿足的需求,故開發(fā)一款更符合瀏覽器使用的模塊加載器;
編寫B(tài)rowserRequire目的不在于統(tǒng)一前后端模塊使用,而是做一款更適合Web前端開發(fā)需求的模塊化框架;
更好的處理了模塊與非模塊間的使用;
更像是LABjs+requireJS的結(jié)合增強版,但打包源文件只有7kb左右;
已知兼容性
IE 5.5+ (添加ieload插件,若不添加則IE10+)
Opera 10+
Chrome 8+
Firefox 3.6+
Safari 5+
其中Chrome、Firefox和Safari可能會向更前的版本兼容。
對移動端有很好的兼容性。
從功能上看更像requirejs和LABjs的結(jié)合體,擁有更實用的功能;
require('js/moduleA')
和requirejs一樣,實用require指令導(dǎo)入模塊或文件,但是相關(guān)參數(shù)和使用方法不一樣;
require指令是確保文件只會載入一次;
添加多個模塊和響應(yīng)
//BrowserRequire
require('js/moduleA','js/moduleB').ready = function(a,b){
console.log(a);
console.log(b);
};
和requirejs對比:
//requirejs
require(['js/moduleA','js/moduleB'],function(a,b){
console.log(a);
console.log(b);
})
并且添加多種響應(yīng)支持
//BrowserRequire
var r = require('js/moduleA','js/moduleB','js/moduleC');
r.ready = function(a,b,c){
...
}
r.loading = function(e){
console.log(e);
}
r.error = function(e){
console.error(e)
}
還有很好的處理了非模塊文件間的依賴,可以異步的按順序添加文件或模塊
//BrowserRequire
require('js/jquery').require('js/jquery-widget').require('js/jquery-widget-search');
同時BrowserRequire模塊依賴也支持該引入模式和各種響應(yīng)
//BrowserRequire Module
define(function(require){ var reObj = {};
require('moduleA').ready = function(a){
reObj.a = a;
};
return reObj;
})
模塊的定義事件,會等依賴模塊都加載完,才會做定義;
并且模塊也可以依賴非模塊文件;(非必要情況下不推薦這樣做)
//BrowserRequire Module
define(function(require){
var reObj = {};
require('moduleA','jquery').ready = function(a){
reObj.a = a;
};
return reObj;
})
還有更多功能請參考使用文檔。
