require.js是一种基于AMD规范的模块加载器,至于什么是AMD规范,就不在这里详细描述了,有兴趣了解的可以去问度娘(^_^)
主要用到的就是两个方法:defind, require...
require.config() // 定义requirejs的相关配置
如:
requirejs.config({
// 定义参数后缀,当require加载其他js文件时,会追加在请求url后,见下图
urlArgs: "v="+new Date().getTime(),
// 主目录,表示通过require加载的文件都是基于此目录下的文件
baseUrl:"",
// 定义模块映射,后面直接通过对应的key(如:"jquery")来引用模块
paths: {
C: 'js/common/common',
jquery: "lib/jquery.min"
},
// 定义模块依赖
shim: {
// 表示js/common/common.js文件依赖jquery,requirejs在加载common.js时会自动先加载jquery,再加载common.js
C: ['jquery'], // 定义模块依赖的简写,也可以写为: C:{ deps:["jquery"] }
jquery: {
exports: 'jQuery'
}
}
});
shim属性,专门用来配置不兼容的模块。
(1)exports值(输出的变量名),表明这个模块外部调用时的名称;
(2)deps数组,表明该模块的依赖性。
define 定义模块
参数:([模块名],[依赖项], 回调方法)
如:
controller/index.js
=====
// 如果有依赖的js模块可以写在“[]”内,如["jquery"],没有依赖项,则可以不传这个参数
define([“jquery"], function($){
return { // 将需要抛出给外部调用的对象return出来
init: function(){
console.log($("body").height()); // 输出body的高度
}
}
})
require 引入模块
参数:([模块名],回调方法)
如:
main.js
=====
// 引入controller/index
require(["controller/index"], function(indexController){
indexController.init(); // 调用controller/index.js中定义的init方法
});
页面用法:
如: index.html
在页面中引入require.js(data-main:定义require.js的主入口模块)
<script type="text/javascript" src="require.js" data-main="src/main"></script>
或者:
<script type="text/javascript">
require(["controller/index"], function(indexController){
indexController.init(); // 调用controller/index.js中定义的init方法
});
</script>
相关推荐
①:require.js是一个js脚本加载器,它遵循AMD(Asynchronous Module Definition)规范,实现js脚本的异步加载,不阻塞页面的渲染和其后的脚本的执行,并提供了在加载完成之后的执行相应回调函数的功能; ②:require....
用于webpack的模块加载器 用法 安装 使用npm安装。 doT是一个对等依赖项,应单独安装: npm install --save-dev dot dotjs-loader 配置 在webpack.config.js配置加载器: module: { loaders : [ { test : / \. ...
RequireJS 是一个JavaScript模块加载器。它非常适合在浏览器中使用,但它也可以用在其他脚本环境,就像 Rhino and Node。使用RequireJS加载模块化脚本将提高代码的加载速度和质量。【百度百科】
沙盒式node.js模块加载器,可让您将依赖项注入模块中。 安装 npm install sandboxed-module 用法 var SandboxedModule = require ( 'sandboxed-module' ) ; var user = SandboxedModule . require ( './user' , { ...
只需将自动加载器定义到您的代码库,并使用与文件相关的名称。 即 lib/Foo/Bar/Baz.js 当你加载 'lib/' 使 Foo_Bar_Baz require('./lib/Foo/Bar/Baz.js') 自动返回值。 2.0 要求 2.0 彻底改变了这个项目的工作方式。...
MT-模块这是一个(目前非常基本的)客户端 Javascript 模块加载器。 它允许您使用 Commonjs/NodeJS 风格的“require()”来处理客户端项目中的依赖项,而无需编译任何东西。 用法非常简单:只需将其包含在您的 HTML ...
配置加载器用于加载配置文件的 Node.js 模块许可证用法npm install config-loadr --save var ConfigLoadr = require ( 'config-loadr' ) ;职能配置加载器() var configLoadr = new ConfigLoadr ( [ mixed load [ , ...
它不是异步脚本加载器。用法将每个模块包装在一个require.register调用中: require . register ( 'my/module/id' , function ( module , exports , require ) {// module code here} ) ; ...允许require函数返回...
, 和的使用的用于浏览器的通用js模块加载器 Polestar按需从NPM和/或虚拟文件系统加载commonjs模块。 它是高度可配置的,使您能够: 异步解决和构建每个require()调用的请求(而您的模块仍将require()用作同步函数...
KsLite 是 10 年开发的一个短小精悍的模块加载器,特别适合在广告投放、广告创意等第三方应用中使用。它的种子文件本身支持异步加载,并可以被多次加载。而其本身已具有现代模块加载器必备的异步的多层依赖处理机制...
已弃用:请使用更新的转译器,例如 。es6-loader 为转译 ES6 语法。用法 import bamboo from 'es6!./bamboo.js' ;class Panda { constructor ( arg = 'default' ) { this . eat = bamboo ; }}export default Panda ;...
Angular.js 1.3及更高版本不需要此项目安装要安装该库,只需运行: npm install --save angular-wrapper用法这是使用此包装器加载Angular.js的示例: var angular = require("angular-wrapper");var ...
描述Wagon.js是一个非常小的模块加载器(1.4k),可在jQuery之上进行调整。 它的用法非常简单,您不需要使用任何其他包装。 它的语法可能会吸引CommonJS或AMD用户。用法首先,在调用wagon.min.js之后立即通过...
要使用它,必须编写一些Java脚本来加载和配置存档器。一个可重用的示例实现正在开发中。它能做什么该模块可配置,但运行时的基本操作始终相同:从源文档中获取符合所需条件的项目(例如“所有选中的项目”) (可选...
在过去的Web开发中,遇到现有的模块化框架无法满足的需求,故开发一款更符合浏览器使用的模块加载器; 编写BrowserRequire目的不在于统一前后端模块使用,而是做一款更适合Web前端开发需求的模块化框架; 更...
模块加载器的概念可能稍微接触过前端开发的童鞋都不会陌生,通过模块加载器可以有效的解决这些问题: JS文件的依赖关系。 通过异步加载优化script标签引起的阻塞问题 可以简单的以文件为单位将功能模块化并实现...
具有全局变量的模块加载器 该模块试图解决和改进模块加载。 require()具有相对路径,例如../../../foo/bar是很常见的。 这是 Node.js 社区已知的一个众所周知的问题:Node.js 的。 有一些解决方案似乎有效,但我...
获取模式带别名的模块加载器 该模块试图解决和改进模块加载。 require()具有相对路径,例如../../../foo/bar是很常见的。 这是 Node.js 社区已知的一个众所周知的问题:Node.js 的。 有一些解决方案似乎有效,但我...
一个小型 AMD 风格的加载器,添加了一个define和require功能,可用于模块化您的代码库。 用法 require用于可以被其他模块调用和重用的模块。 define用于仅对已注册模块执行操作的模块。 两者的语法相同。 基本 ...
用于Warframe的WorldState数据JavaScript API包装器 安装 要安装浏览器版本,只需使用CDN Link将JS文件添加到您HTML中,或将app.js添加到您的项目中: CDN: [removed][removed] 从您的项目中: [removed]...