初学RequireJS

本文以初学身份对比RequireJS和jQuery来讲明前者的优势,若使用其它库,能够“眼动”将jQuery替换为你所用的js库;数组

“模块化”,实现某一功能的方法独立化,使其能够复用;这一高大上的名词,按个人理解,和jQurey插件的功能同样;那为何须要学习RequireJS呢?模块化

jQuery,是将jQuery定义为全局变量,在脚本的任何地方都能调用jQuery中的方法;函数

对比于jQuery,RequireJS的优势就是,能够将各依赖关系(依赖关系---js库,指你须要引用这个库才能作其余功能)声明,并将各个依赖关系做为函数参数处理,便可以把jQuery等js库的做用域定义为局部(函数内部);学习

RequireJS是为实现模块化存在的,其核心功能有两个:定义模块define()和调用模块require();ui

定义模块define(),建一个功能库:插件

//推荐一个模块为一个单独的js文件;
无依赖关系的模块:code

define({
name1:'value1',
name2:'value2'
})

无依赖关系,但须要处理一些初始化任务:作用域

define(function(){

})

有依赖关系的模块:回调函数

define('module name',[],function(){

//第一个参数为模块名称,可选项--不建议命名;
//[]表示依赖关系的数组列表;
//function(){}回调函数,当指定模块都加载成功后被调用;
//加载的模块以参数形式传入该函数中,从而在回调函数内部就能够使用这么模块;
//参数和模块的数量和次序要一一对应;
//或者经过arguments[]来调用依赖;
//
//require()加载这个模块以前会先加载依赖关系;
//模块应该返回一个本模块/函数 return {
// 属性名:值,
// 方法名:function(){}
//模块名默认为脚本文件名;
//}

})

调用模块require():io

require([],function(){

//[]表示依赖关系的数组列表;
//function(){}回调函数,当指定模块都加载成功后被调用;
//加载的模块以参数形式传入该函数中,从而在回调函数内部就能够使用这个模块的属性或方法;
//参数和模块的数量和次序要一一对应;
//或者经过arguments[]来调用依赖;

})
相关文章
相关标签/搜索