【JS】AMD,CMD,CommenJS和ES6

本文对比了AMD(异步模块定义,如RequireJS)、CMD(同步模块定义,如SeaJS)、CommonJS(Node.js中的模块规范)以及ES6的模块化(export/import)。AMD依赖前置,CMD就近依赖,CommonJS适用于Node.js后端,而ES6的export/import是前端和后端通用的模块化方式。
摘要由CSDN通过智能技术生成
本节我们来对比一下AMD,CMD,CommenJS和ES6

首先说一下什么是AMD,CMD和CommenJS。
其实这三个都是一种规范或者说标准。AMD是国外一个团队搞出来的异步模块定义,CMD是国内的淘宝团队搞出来的同步模块定义,其知名度不如AMD

  • AMD
    AMD是RequireJS在推广过程中对模块定义的规范化产出。这听起来是不是很拗口?首先又蹦出来了一个新概念,什么是RequireJS?RequireJS 是一个JavaScript文件和模块加载器。我们知道ECMAScript是一个组织,Javascript是一门编程语言,JavaScript语言就是对ECMAscript组织制定语言标准的一种实现,那么同样的,AMD是一种概念,然后RequireJS就是对于这个AMD概念的一种脚本语言实现。

而且AMD是依赖前置的,就是说我们所依赖的所有包都要放在文件的最上方,然后进行异步加载。

下图是我们requireJS实现功能的一个例子
在这里插入图片描述

  • CMD
    与AMD正好“相对”,AMD是异步模块化定义,CMD是同步模块化定义。CMD是SeaJS在推广过程中对模块定义的规范化产出。

CMD是就近依赖,项目中所依赖的包或者说库都是放在要调用的内容的就近部分,即用即返回。显然,他是一个同步的概念。

下图是我们SeaJS实现功能的一个例子

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值