本文以初学身份对照RequireJS和jQuery来申明前者的长处,若运用别的库,能够“眼动”将jQuery替换为你所用的js库;
“模块化”,完成某一功用的要领自力化,使其能够复用;这一嵬峨上的名词,按我的明白,和jQurey插件的功用一样;那为何须要进修RequireJS呢?
jQuery,是将jQuery定义为全局变量,在剧本的任何地方都能挪用jQuery中的要领;
对照于jQuery,RequireJS的长处就是,能够将各依靠关联(依靠关联—js库,指你须要援用这个库才能做其他功用)声明,并将各个依靠关联作为函数参数处置惩罚,即能够把jQuery等js库的作用域定义为部分(函数内部);
RequireJS是为完成模块化存在的,其中心功用有两个:定义模块define()和挪用模块require();
定义模块define(),建一个功用库:
//引荐一个模块为一个零丁的js文件;
无依靠关联的模块:
define({
name1:'value1',
name2:'value2'
})
无依靠关联,但须要处置惩罚一些初始化使命:
define(function(){
})
有依靠关联的模块:
define('module name',[],function(){
//第一个参数为模块称号,可选项--不发起定名;
//[]示意依靠关联的数组列表;
//function(){}回调函数,当指定模块都加载胜利后被挪用;
//加载的模块以参数情势传入该函数中,从而在回调函数内部就能够运用这么模块;
//参数和模块的数目和序次要一一对应;
//或许经由过程arguments[]来挪用依靠;
//
//require()加载这个模块之前会先加载依靠关联;
//模块应当返回一个本模块/函数 return {
// 属性名:值,
// 要领名:function(){}
//模块名默以为剧本文件名;
//}
})
挪用模块require():
require([],function(){
//[]示意依靠关联的数组列表;
//function(){}回调函数,当指定模块都加载胜利后被挪用;
//加载的模块以参数情势传入该函数中,从而在回调函数内部就能够运用这个模块的属性或要领;
//参数和模块的数目和序次要一一对应;
//或许经由过程arguments[]来挪用依靠;
})