Amd和Cmd的代表分别是require.js以及sea.js
AMD (amd 提前读取并加载(前置读取并加载))
是 RequireJS 在推广过程中对模块定义的规范化产出。https://github.com/amdjs/amdjs-api/wiki/AMD
define(['./a','./b'],function(a,b){
a.doSomething()
b.doSomething()
})
CMD (cmd 提前读取后加载)
是 SeaJS 在推广过程中对模块定义的规范化产出。https://github.com/seajs/seajs/issues/242
(NodeJS是CommonJS规范的实现,webpack 也是以CommonJS的形式来书写。)
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
var b = require('./b')
b.doSomething()
})
1.cmd 提前读取后加载,而是在需要时加载 “懒加载”==as lazy as possible
2.一个模块就是一个文件(崇尚简单)
参考:
js模块化编程之彻底弄懂CommonJS和AMD/CMD!
【面试系列】之一:关于Cmd和Amd
AMD 和 CMD 的区别有哪些?
SeaJS与RequireJS最大的区别
https://www.zhihu.com/question/21347409#answer-2323656
原生js window 好像没有define方法,这应该是SeaJS框架里的 你要用首先要导入SeaJS包
以妓会友,评赞走起