CommonJS, AMD,CMD区别

1,AMD/CMD/CommonJs都是JS模块化开发的标准,目前对应的实现是RequireJS,SeaJs, nodeJs;

2,CommonJs主要针对服务端,AMD/CMD主要针对浏览器端,(服务端一般采用同步加载文件,就是说需要加载某个模块的时候,服务端便停下来,等待它加载完再执行,浏览器段要保证效率,采用异步加载,就需要一个预处理,提前将所需要的文件并行加载好)

3,AMD/CMD区别,虽然都是并行加载js文件,区别是AMD是预加载,在并行加载js文件同时,还会解析执行该模块,CMD是懒加载,虽然一开始并行加载js文件,但是不会执行,而是在需要的时候才执行;

CommonJs

主要针对服务端(同步加载文件),对应的实现是nodejs

CommonJS定义的模块分为:{模块引用(require)} {模块定义(exports)} {模块标识(module)}

require()用来引入外部模块;exports对象用于导出当前模块的方法或变量,唯一的导出口;module对象就代表模块本身。

AMD 

主要针对浏览器端(异步加载文件),预加载文件。对应的实现是requirejs

AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数:require([modules], callback);

第一个参数[modules],是需加载的模块名数组;第二个参数callback,是模块加载成功之后的回调函数

CMD

主要针对浏览器端(异步加载文件),按需加载文件。对应的实现是seajs

AMD 是提前执行,CMD 是延迟执行。CMD 推崇依赖就近,AMD 推崇依赖前置。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值