BrowserRequire-ViewMap - 前端框架可视化工具


MIT
跨平台
JavaScript

软件简介

BrowserRequire-ViewMap 是前端模块化框架可视化工具,其本身也是基于
BrowserRequire 开发的。

BrowserRequire-ViewMap 插件是 BrowserRequire的一个插件,可从图形上查看文件间的依赖关系(模块化文件与非模块化文件)。

BrowserRequire旨在做更适合web前端开发的模块化框架。

演示地址: http://viewmap.oschina.mopaas.com/tools/ViewMap/

使用方法:只需要在BrowserRequire框架加载完后引入即可。

<script src="br.js"></script> 
<script src="br-viewMap.js"></script>

也可以使用BrowserRequire异步添加

require('br-viewMap.js');

关于BrowserRequire框架的详细介绍地址:点击这里

https://github.com/kirakiray/BrowserRequire

BrowserRequire可以很灵活的处理模块与非模块间的关系,BrowserRequire更像是requirejs和LABjs的融合体,拥有它们的优点,组合的功能让你抛弃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,但响应操作更像DOM ready的方式。

也能很好处理非模块文件间的依赖。

require('jquery').require('jquery-widget').require('jquery-widget-sideBar').ready = function(){
    console.log('sideBar is succeed!');
}

这样会依次序的加载三个文件,并且整个过程都是异步加载的,不会阻塞页面。

模块间的依赖依靠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加载完成后才引入。

也能实现模块与非模块文件的依赖。

define(function(require){
    var reObj = {};
    require('jquery').ready = function(){
        var val;
        $.each........(some code need jquery)
        reObj.value = val
    }     
    return reObj;
})

BrowserRequire会确保文件只加载一次,这在web前端多人合作开发中是非常有用的。

也有丰富的响应事件设置:
loading:加载组合中的某个加载完成会触发loading事件,并返回event(附带加载成功的文件信息)
error:加载失败的响应;

它还能实现更复杂的加载需求,例如进行拓扑状的加载文件或模块,可以定制性的针对需求进行取舍(例如应对手机端极慢网的移动2g网速方案等)

同时能兼容所有主流浏览器(经测试在chrome/firefox/opera/IE/UC/WeiChat自带浏览器等),能兼容到IE5.5+等,只需要载入兼容插件即可;(低版本ie兼容插件和主框架分离,按需求的添加插件,因为开发手机端web是不需要兼容低版本ie的)

关于BrowserRequire的使用文档,请查看:https://github.com/kirakiray/BrowserRequire

关于viewMap插件,请查看:http://git.oschina.net/pikay/BrowserRequire-ViewMap