Web 前端模塊化框架:BrowserRequire

jopen 9年前發布 | 16K 次閱讀 Web框架 BrowserRequire

BrowserRequire 是給瀏覽器使用的模塊化框架,并且提供靈活加載js文件(非模塊化文件)的功能。

中文使用指南:點擊進入!

目錄介紹

dist————BrowserRequire框架壓縮文件

example————示范案例

src————BrowserRequire源代碼

要使用BrowserRequire只需要下載dist內的文件即可。

編寫目的

在過去的Web開發中,遇到現有的模塊化框架無法滿足的需求,故開發一款更符合瀏覽器使用的模塊加載器;

編寫BrowserRequire目的不在于統一前后端模塊使用,而是做一款更適合Web前端開發需求的模塊化框架;

更好的處理了模塊與非模塊間的使用;

更像是LABjs+requireJS的結合增強版,但打包源文件只有7kb左右;

已知兼容性

IE 5.5+ (添加ieload插件,若不添加則IE10+)

Opera 10+

Chrome 8+

Firefox 3.6+

Safari 5+

其中Chrome、Firefox和Safari可能會向更前的版本兼容。

對移動端有很好的兼容性。

從功能上看更像requirejs和LABjs的結合體,擁有更實用的功能;

require('js/moduleA')

和requirejs一樣,實用require指令導入模塊或文件,但是相關參數和使用方法不一樣;

require指令是確保文件只會載入一次;

添加多個模塊和響應

//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);
})

并且添加多種響應支持

//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模塊依賴也支持該引入模式和各種響應

//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;
})

還有更多功能請參考使用文檔

項目主頁:http://www.baiduhome.net/lib/view/home/1426057000357

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!