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; })
還有更多功能請參考使用文檔。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!