介绍一些requirejs的核心方法
config方法
config语法
requirejs.config({
})
它的核心有以下几个
(1).baseUrl
引入一些js文件比如:
requirejs.config({
//当前路径下有一个js文件夹,js文件夹下有一个lib文件夹,lib文件夹下是若干个js文件
baseUrl:"js/lib"
})
(1-2).path
语法:
requirejs.config({
baseUrl:"js/lib"
path:{
"jquery":"jquery.min",
"jquery":"jqueryui.min"
//jquery.min与jqueryui.min js文件都是在lib文件夹下,jquery用来代表这两个js文件
}
})
shim
使用shim参数来取代1.0版本的order插件。其实在1.0版本中就曾经有人开发过use和wrap插件来解决此类问题。考虑到很多开发者有此类需求(比如某些JS模块是较早时候其他人开发的,非AMD方式)此次2.0版本直接将其内置其中。
语法:
requirejs.config({
baseUrl:"js/lib",
path:{
"jquery":"jquery.min",
"jquery":"jqueryui.min",
"demojs":"demojs"
},
shim:{
"demojs":{
demoList:"demolist",
demoPost:"demoPost"
//js文件肯定少不了一些方法function fn(){}等等
//demoList与demoPost就是demojs文件当中的其中两个function
//这个时候体现出了shim的其中一个用途就是解构,将demoList与demoPost解构出来
//解构的这两个是全局方法
}
}
})
map
map参数用来解决同一个模块的不同版本问题
语法:
requirejs.config({
map:{
A:{
jquery:"jquery1.6.7"
},
B:{
jquery:"jquery1.6.9"
}
}
})
require(['A'])
require(['B'])
//分别引入不同版本
config方法
可以用来传值
语法:
require.config({
config: {
'A': {
info: {name: 'jack'}
}
}
});
A的模块中可以通过A.config().info获取到该数据信息
require(['A'], function(A) {
var info = a.config().info;
console.log(info);
})
以上是一些方法的引入,下面是方法的使用
用法:第一个参数是数组,将引入的js传入,第二个是函数参数对应数组当中的内容,可以理解为形参
require(["jquery","demo"],function($,demo){
//$代替jquery, demo代替demo
//正常使用jquery就可以啦
$(function(){
$("div").css({background-color:"red"})
})
})