- 都是用于在模块化定义中使用
- AMD、CMD、CommonJs是
ES5
中提供的模块化编程的方案 - import/export是
ES6
中定义新增的
AMD-异步模块定义[依赖前置、异步定义]
- RequireJS在推广过程中对模块定义的规范化产出
- RequireJS:是一个AMD框架,可以异步加载JS文件
- 通过define()函数定义,第一个参数是一个数组,里面定义一些需要依赖的包,第二个参数是一个回调函数,通过变量来引用模块里面的方法,最后通过return输出
CMD-同步模块定义
- 是SeaJS在推广过程中对模块定义的规范化产出
- SeaJS是CMD概念的一个实现,SeaJS是淘宝团队提供的一个模块开发的js框架
- 通过define()定义,没有依赖前置,通过require加载jQuery插件,CMD是依赖就近,在什么地方使用到插件就在什么地方require该插件,即用即返,这是一个同步的概念
CommonJS规范
- Nodejs端是使用CommonJS规范的