AMD
全称是Asynchronous Module Definition,即异步模块加载机制
require.js实现了AMD规范
在AMD中,导入和导出模块的代码,都必须放置在define函数中
define([依赖的模块列表], function(模块名称列表){
//模块内部的代码
return 导出的内容
})
<script data-main="./a.js" src="./js/require.js"></script>data-main找到入口文件
页面
html页面<script data-main="./a.js" src="./js/require.js"></script>
a.js
console.log("我是a模块");
define(["b"],(b)=>{
console.log("a模块内容",b)
return "a模块内容!返回值"
})
b.js
define(()=>{
console.log("b.js")
return "我是b.js文件"
})
执行顺序
a.js:1 我是a模块
b.js:2 b.js
a.js:4 a模块内容 我是b.js文件
CMD
全称是Common Module Definition,公共模块定义规范
sea.js实现了CMD规范
在CMD中,导入和导出模块的代码,都必须放置在define函数中
define(function(require, exports, module){
//模块内部的代码
})