1、requirejs遵循AMD规范,将需要的都加载好(前置加载)。注:cmd是就近加载。
define(['jQuery','dialog'],function($,d){
// 业务逻辑
})
(1)AMD采用异步加载,模块的加载不影响它后面语句的执行。
(2)所有依赖这个模块的语句,都定义在一个回调函数中,等前面需要加载的模块加载完成后这个回调函数才运行,解决了依赖性的问题。
2、requirejs路径解析
代码结构为:
示例代码:
index.html
<!doctype html>
<html lang="en"> <head>
<meta charset="UTF-8" />
<title>Document</title>
</head> <body>
<!--data-main 是入口文件js/main.js js/main都行-->
<script src="js/require.js" type="text/javascript" charset="utf-8" data-main="js/main"></script>
</body> </html>
main.js为
//配置文件
requirejs.config({
baseUrl:'js/',//默认是main.js所在的文件夹为基准。
paths:{
jquery:'jquery-1.12.4.min'//起个别名
}
}); //加载入口模块
requirejs(['index']);//从基准路径js下开始查找,谨记不能写为index.js
baseUrl
指定了一个目录,然后requirejs基于这个目录来寻找依赖的模块。
baseUrl默认为main.js的路径
baseUrl+paths配置路径,如上面的main.js的代码:
jquery的路径为:js/jquery-1.12.4.min baseURl设置方式有三种:
(1)用requirejs.config显示指定baseUrl;
(2)如果指定了Entry Point(data-main)文件,则baseUrl为Entry Point所在目录;
(3)如果上述均未指定,则baseUrl为运行RequireJS的HTML文件所在目录。