当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

BrowserRequire

Web 前端模块化框架
授权协议 MIT
开发语言 JavaScript HTML/CSS
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 邓德本
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

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

  • BrowserRequire 是给浏览器使用的模块化框架,并且提供灵活加载js文件(非模块化文件)的功能。  目录介绍 dist————BrowserRequire框架压缩文件 example————示范案例 src————BrowserRequire源代码 要使用BrowserRequire只需要下载dist内的文件即可。   编写目的 在过去的Web开发中,遇到现有的模块化框架无法满足的需求,

 相关资料
  • 本文向大家介绍如何理解前端模块化?相关面试题,主要包含被问及如何理解前端模块化?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 前端模块化就是复杂的文件编程一个一个独立的模块,比如js文件等等,分成独立的模块有利于重用(复用性)和维护(版本迭代),这样会引来模块之间相互依赖的问题,所以有了commonJS规范,AMD,CMD规范等等,以及用于js打包(编译等处理)的工具webpack

  • 本文向大家介绍说明模块化自动化框架。,包括了说明模块化自动化框架。的使用技巧和注意事项,需要的朋友参考一下 在模块化自动化框架中,通过将整个应用程序划分为几个小的自给自足的模块,在模块或集群的基础上开发测试脚本。因此,创建了属于特定模块或集群的各个测试脚本。 属于这些隔离模块的这些脚本可以集成,并且可以由主驱动程序脚本驱动,以在模块之间执行集成测试。所有这些都是在开发模块脚本时使用的通用功能库(包

  • 随着互联网的飞速发展,前端开发越来越复杂,导致开发经常出现两个问题: 恼人的命名冲突 烦琐的文件依赖 针对这两个问题,可以使用js模块化技术来解决。当前主流的js模块化有两大规范CMD(Seajs)和AMD规范(RequireJS)。WeX5采用RequireJS(AMD规范)来实现,关于RequireJS的详细说明参考:http://www.requirejs.org/ 接下来我们介绍在WeX5

  • CommonJS AMD CMD UMD ES Modules

  • 1. required 引入模块。返回模块通过 module.exports 或 exports 暴露的接口。 参数 名称 类型 说明 path string 需要引入模块文件相对于当前文件的相对路径,或npm模块名,或npm模块路径。不支持绝对路径 示例代码 // common.js function sayHello(name) { console.log(`Hello ${name} !

  • 文件作用域 在.js 文件中声明的变量和方法只在当前文件中有效;不同的文件中可以声明相同名字的变量和方法。 通过全局函数 getApp() 可以获取全局的应用实例,如果需要全局的数据可以在 App() 中设置,如: // app.js App({ globalData: "cortana" }) 模块化 可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 modu

  • 问题内容: 现在,我想将我的ObjC框架迁移到Swift,并遇到以下错误: 引用指向仅定义协议的头文件,我在某些类中使用此头文件来使用此协议。 似乎与模块功能有关,但目前尚不清楚如何解决,您知道解决方案吗? 更新: 这是Swift编译器错误。 更新2: 一种快速解决方案(但不能解决根本原因)是将以下设置设置为yes:CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAME

  • 现在我想将我的ObjC框架迁移到Swift,我得到了以下错误: 引用是一个头文件,它只是定义一个协议,我在某些类中使用此头文件来使用此协议。 似乎与模块功能有关,但目前还不清楚如何修复,你知道解决方案吗? 更新: 这是一个 Swift 编译器错误。 更新 2: 一个快速解决方法(但不能解决根本原因)是将以下设置设置为YES:CLANG _ ALLOW _ NON _ MODULAR _ INCLU