标签:
SeaJS 遵循 CMD 规范,RequireJS 遵循 AMD 规范。
CMD 模块依赖声明方式:
define(function (require) {
var a = require(‘./a‘);
var b = require(‘./b‘);
})
CMD 规范的弊端
require
是局部变量,意味着不能直接的通过压缩工具进行压缩,若require
这个变量被替换,加载器与自动化工具将无法获取模块的依赖。AMD 模块依赖声明方式:
define([‘./a‘, ‘./b‘], function (a, b) {
// more code ..
})
AMD 规范的弊端
其实无论是 CMD 还是 AMD 的异步模块,都无法与同步模块规范保持一致(NodeJS 的 Modules),
只有谁比谁更像同步模块而已。AMD 要转换为同步模块,除了去掉define
函数的包裹外,
需要在头部使用require
把依赖声明好,而 CMD 只需要去掉define
函数的包裹即可。
标签:
原文地址:http://www.cnblogs.com/ddzhao1989/p/4715142.html