AMD(Asynchronous Module Definition)异步模块定义

由于这个规范不是原生js支持的,所以要先引入第三方库文件(RequireJS)才能实现。解决了多个js文件之间的依赖关系问题。也遗留了一个问题:js加载的时候浏览器会停止页面渲染,加载文件越多,页面失去响应时间。

例:c文件依赖a文件/c文件依赖a文件和b文件/c文件依赖b文件,b文件依赖a文件

a.js文件

define(function(){
    var a = 1
    return {a}
})

define函数用来定义模块,被别的模块导入。

其中define的参数1表示当前模块的名称,别的模块导入当前模块的时候使用这个名称代表当前模块

b.js文件

define(['./a.js'], ['moduleA'], function(moduleA){
    var b = 2
    return {b,moduleA}
})

define函数在定义模块的同时也可以依赖别的模块,如上代码,参数2表示依赖的模块。回调函数中的参数,是在回调函数中使用依赖模块中数据时对别的模块起的别名,或可理解为将别模块使用这个参数接收

c.js文件

require(['./b.js'], function(moduleB){
    console.log(moduleB)
})

require函数作为最终的处理函数,参数1是依赖的模块,参数2是对所有逻辑的处理。</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值