Requirejs之二基础知识
简述
Requirejs基础知识用法,API,require会定义两个变量define和require.分别介绍
1、define
定义一个模块然后在页面中使用。Demo.js
define(function(){
functionfun1(){
alert("itworks");
}
fun1();
})
加载模块使用数组
require([“demo”],function(){
alert(“loadfinished”);
})
2、require加载文件
require.config{“jquery”:[“/js/jquery”]}参数是js对象
模块名:实际路径
Config用来配置模块的加载位置,简单来说就是起个更好记住的名字。
使用
Require([“jquery”],function(){
})
3主数据功能
加载requirejs脚本的script标签加入了data-main
属性,这个属性指定的js将在加载完reuqire.js后处理,我们把require.config
的配置加入到data-main
后,就可以使每一个页面都使用这个配置,然后页面中就可以直接使用require
来加载所有的短模块名 这样其下的文件夹也可以加载了。
总结:1、在head中通过script标签引入它
2、script标签中会多一个data-main属性,程序的入口函数
data-main=js/main 为路径+“/”文件名 不加后缀名
3、require.config参数是js对象
3.1path:{jQuery:'jquery-1.7.2'}
模块名:实际路径
3.2baseUrl:指的模块文件夹的根目录(可以说据对路径也可以是相对路径)
4、require函数
require([],function())
第一个参数是数组,第二个是回调函数。数组中的模块和回调函数的参数一一对应。
5、使用define定义一个函数类型模块,RequireJs的模块可以是js对象。
5.1define(['cache'],function(cache){});
event依赖于cache,定义时第一个参数数组中放入“cache”即可。第二个参数是函数类型,它的参数就是cache模块对象。这样定义后,当require事件模块时,require会自动将event依赖的cache。js也下载下来。
6、2.0更新
config增加了对象
1、shim:{
'jquery-slide':['jquery']
}
require([jquery-slide])
shim参数解决了使用非AMD方式的模块(如jQuery插件)及其载入顺序。
这时会保证先下载jquery.js然后在下载jquery-slide
2、map对象(处理不同的版本)
requirejs.config({
map:{
'A':{
'jquery': 'jquery-1.6.4'
},
'B': {
'jquery': 'jquery-1.7.2'
}
}
})
使用require(['A']);
3、config参数用来给指定的模块传递一些有用的数据
require.config({
config:{
'A':{
info:{name:'jack'}
}}});
使用A的模块中可以通过A.config().info获取到该数据信息。
require(['A'],function(A){
varinfo=A.config().info;})
4、enforceDefine用来强制使用define定义。
7、require也增加了第三个参数。
errbacks参数没有载入成功时的回调。
8、在模块载入失败回调中可以使用undef函数移除模块的注册。