AMD 是 Asynchronous Module Definition 的简称,即“异步模块定义”,是从 CommonJS 讨论中诞生的。
AMD 优先照顾浏览器的模块加载场景,使用了异步加载和回调的方式。浏览器端异步加载库Require.js实现的就是AMD规范。
AMD模块相比于commentjs,AMD规范采用了异步加载策略,运用的是前端语言,配合require.js开发项目。也是定义模块、调用模块、配置模块三步。
步骤:
1、下载并引入require.js文件
async defer属性表明这个文件是否需要异步加载,data-main指定文件主模块,自定义文件名。
<script src="js/require.js" defer async="true" data-main="js/main"></script>
2、define定义模块:
define:有两个参数,第一个参数必须是数组,指明模块的依赖性(就是),第二个参数是回调函数,可以写函数方法或者调用模块函数
如:
function add(a,b){
console.log(a+b);
}
define([jQuery],function(){
add(1,3)
})
3、require调用模块
接受两个参数,第一个参数是一个数组,表示所依赖的模块,第二个参数是回调函数,在当前指定的模块都加载成功后会被调用
如:
require([js/mian],function(){
add(4,3)
})
4、require.config配置模块,引入第三方的公共模块
如:
reruire.config({
path1:'https://cdnjs.cloudflare.com/ajax/libs/',
paths:{
'jquery':'jquery/1.12.4/jquery.cookie.min',
'jqcookie':'jquery-cookie/1.4.1/jquery.cookie.min'
}
})