1、requirejs遵循AMD规范,将需要的都加载好(前置加载)。注:cmd是就近加载。

define(['jQuery','dialog'],function($,d){
// 业务逻辑
})

(1)AMD采用异步加载,模块的加载不影响它后面语句的执行。

(2)所有依赖这个模块的语句,都定义在一个回调函数中,等前面需要加载的模块加载完成后这个回调函数才运行,解决了依赖性的问题

2、requirejs路径解析

代码结构为:

模块化开发RequireJS之路径解析-LMLPHP

示例代码:

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文件所在目录。

04-24 05:41