BrowserRequire Web 前端模块化框架

我要开发同款
匿名用户2015年03月11日
85阅读

技术信息

授权协议
MIT

作品详情

BrowserRequire是给浏览器使用的模块化框架,并且提供灵活加载js文件(非模块化文件)的功能。

中文使用指南:点击进入!

目录介绍

dist————BrowserRequire框架压缩文件

example————示范案例

src————BrowserRequire源代码

要使用BrowserRequire只需要下载dist内的文件即可。

编写目的

在过去的Web开发中,遇到现有的模块化框架无法满足的需求,故开发一款更符合浏览器使用的模块加载器;

编写BrowserRequire目的不在于统一前后端模块使用,而是做一款更适合Web前端开发需求的模块化框架;

更好的处理了模块与非模块间的使用;

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

已知兼容性

IE5.5+(添加ieload插件,若不添加则IE10+)

Opera10+

Chrome8+

Firefox3.6+

Safari5+

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

对移动端有很好的兼容性。

从功能上看更像requirejs和LABjs的结合体,拥有更实用的功能;

require('js/moduleA')

和requirejs一样,实用require指令导入模块或文件,但是相关参数和使用方法不一样;

require指令是确保文件只会载入一次;

添加多个模块和响应

//BrowserRequire require('js/moduleA','js/moduleB').ready = fuctio(a,b){    cosole.log(a);    cosole.log(b);};

和requirejs对比:

//requirejs require(['js/moduleA','js/moduleB'],fuctio(a,b){    cosole.log(a);    cosole.log(b);})

并且添加多种响应支持

//BrowserRequire var r = require('js/moduleA','js/moduleB','js/moduleC');r.ready = fuctio(a,b,c){    ...}r.loadig = fuctio(e){    cosole.log(e);}r.error = fuctio(e){    cosole.error(e)}

还有很好的处理了非模块文件间的依赖,可以异步的按顺序添加文件或模块

//BrowserRequire require('js/jquery').require('js/jquery-widget').require('js/jquery-widget-search');

同时BrowserRequire模块依赖也支持该引入模式和各种响应

//BrowserRequire Module defie(fuctio(require){ var reObj = {};    require('moduleA').ready = fuctio(a){        reObj.a = a;    };         retur reObj;})

模块的定义事件,会等依赖模块都加载完,才会做定义;

并且模块也可以依赖非模块文件;(非必要情况下不推荐这样做)

//BrowserRequire Module defie(fuctio(require){         var reObj = {};    require('moduleA','jquery').ready = fuctio(a){        reObj.a = a;    };         retur reObj;})

还有更多功能请参考使用文档。

功能介绍

BrowserRequire 是给浏览器使用的模块化框架,并且提供灵活加载js文件(非模块化文件)的功能。 中文使用指南:点击进入! 目录介绍 dist————BrowserRequire框架压...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论