标签:
AMD 规范在这里:https://github.com/amdjs/amdjs-api/wiki/AMD
CMD 规范在这里:https://github.com/seajs/seajs/issues/242
这些规范的目的都是为了 JavaScript 的模块化开发,特别是在浏览器端的。
CMD推崇依赖就近,可以把依赖写进你的代码中的任意一行, sea.js就是用这种模式。例:
define(‘c‘, [‘./a‘, ‘./b‘], function(require, exports, module) { var a = require(‘./a‘); a.doSomething(); // 此处略去 100 行 var b = require(‘./b‘);// 依赖可以就近书写,不需要严格在函数参数中定义好 b.doSomething(); });
AMD是依赖前置的,换句话说,在解析和执行当前模块之前,模块作者必须指明当前模块所依赖的模块,淘宝KISSY就是用这种模式。例:
define([‘./a‘,‘./b‘],function(a,b){// 依赖必须一开始就写好 a.doSomething(); b.doSomething(); });
AMD要求,函数中的参数顺序,必须与依赖模块定义的顺序保持一致,否则就会出现错误。
标签:
原文地址:http://www.cnblogs.com/huximing/p/4668141.html