BrowserRequire-ViewMap前端框架可視化工具
BrowserRequire-ViewMap 是前端模塊化框架可視化工具,其本身也是基于 BrowserRequire 開發(fā)的。
BrowserRequire-ViewMap 插件是 BrowserRequire的一個(gè)插件,可從圖形上查看文件間的依賴關(guān)系(模塊化文件與非模塊化文件)。
BrowserRequire旨在做更適合web前端開發(fā)的模塊化框架。
演示地址: http://viewmap.oschina.mopaas.com/tools/ViewMap/
使用方法:只需要在BrowserRequire框架加載完后引入即可。
<script src="br.js"></script> <script src="br-viewMap.js"></script>
也可以使用BrowserRequire異步添加
require('br-viewMap.js');
關(guān)于BrowserRequire框架的詳細(xì)介紹地址:點(diǎn)擊這里
https://github.com/kirakiray/BrowserRequire
BrowserRequire可以很靈活的處理模塊與非模塊間的關(guān)系,BrowserRequire更像是requirejs和LABjs的融合體,擁有它們的優(yōu)點(diǎn),組合的功能讓你拋棄shim操作,核心代碼只有7kb左右。
//main
require('moduleA','moduleB').ready = function(a,b){
console.log(a);
//I am A
console.log(b());
//I am B
}
//moduleA.js
define(function(){
return 'I am A';
});
//moduleB.js
define(function(){
var b = 'I am B';
return function(){
return b;
};
});
使用起來像requirejs,但響應(yīng)操作更像DOM ready的方式。
也能很好處理非模塊文件間的依賴。
require('jquery').require('jquery-widget').require('jquery-widget-sideBar').ready = function(){
console.log('sideBar is succeed!');
}
這樣會依次序的加載三個(gè)文件,并且整個(gè)過程都是異步加載的,不會阻塞頁面。
模塊間的依賴依靠require方法和object
//moduleA
define(function(require){
var reObj = {
value : "I am A"
};
require('moduleB').ready = function(b){
reObj.B = b;
};
return reObj;
})
//moduleB.js
define(function(){
return 'I am B';
});
這樣的話moduleA會在moduleB加載完成后才引入。
也能實(shí)現(xiàn)模塊與非模塊文件的依賴。
define(function(require){
var reObj = {};
require('jquery').ready = function(){
var val;
$.each........(some code need jquery)
reObj.value = val
}
return reObj;
})
BrowserRequire會確保文件只加載一次,這在web前端多人合作開發(fā)中是非常有用的。
也有豐富的響應(yīng)事件設(shè)置:
loading:加載組合中的某個(gè)加載完成會觸發(fā)loading事件,并返回event(附帶加載成功的文件信息)
error:加載失敗的響應(yīng);
它還能實(shí)現(xiàn)更復(fù)雜的加載需求,例如進(jìn)行拓?fù)錉畹募虞d文件或模塊,可以定制性的針對需求進(jìn)行取舍(例如應(yīng)對手機(jī)端極慢網(wǎng)的移動(dòng)2g網(wǎng)速方案等)
同時(shí)能兼容所有主流瀏覽器(經(jīng)測試在chrome/firefox/opera/IE/UC/WeiChat自帶瀏覽器等),能兼容到IE5.5+等,只需要載入兼容插件即可;(低版本ie兼容插件和主框架分離,按需求的添加插件,因?yàn)殚_發(fā)手機(jī)端web是不需要兼容低版本ie的)
關(guān)于BrowserRequire的使用文檔,請查看:https://github.com/kirakiray/BrowserRequire
關(guān)于viewMap插件,請查看:http://git.oschina.net/pikay/BrowserRequire-ViewMap
