- 相同点:为了模块化
- 不同点:
- CommonJs 同步加载模块
- AMD 异步加载模块,推崇依赖前置
- CMD 是 seajs 推崇的规范,CMD 推崇依赖就近,用的时候再 require
什么是 CommonJs ?
- CommonJs 是服务器端模块的规范,Nodejs 采用了这个规范
- 一个单独的文件就是一个模块,使用 require 方法加载模块,返回文件内部的 exports 对象
导入模块
var gulp = require("gulp")
引入模块的 require 方法都从哪里查找模块
核心模块名 文件夹的node_modules中 全局中NODE_PATH目录中
什么是 AMD ?
- 它的模块支持对象,函数,构造器,字符串 JSON 等各种类型的模块
- 使用 defined 方法定义模块
//通过数组引入依赖 ,回调函数通过形参传入依赖
define(['./a','./b'], function (a, b) {
//依赖一开始就写好
a.test();
b.test();
});
什么是 CMD ?
- CMD 是 SeaJS 在推广过程中对模块定义的规范化产出
- 就近原则,依赖可以就近书写
define(function (requie, exports, module) {
//依赖可以就近书写
var a = require('./a');
a.test();
if (status) {
var b = requie('./b');
b.test();
}
});