前端amd和cmd的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端amd和cmd的区别相关的知识,希望对你有一定的参考价值。

参考技术A 最明显的区别就是在模块定义时对依赖的处理不同

1、AMD推崇依赖前置,在定义模块的时候就要声明其依赖的模块
2、CMD推崇就近依赖,只有在用到某个模块的时候再去require
这种区别各有优劣,只是语法上的差距,而且requireJS和SeaJS都支持对方的写法

AMD和CMD最大的区别是对依赖模块的执行时机处理不同,注意不是加载的时机或者方式不同

很多人说requireJS是异步加载模块,SeaJS是同步加载模块,这么理解实际上是不准确的,其实加载模块都是异步的,只不过AMD依赖前置,js可以方便知道依赖模块是谁,立即加载,而CMD就近依赖,需要使用把模块变为字符串解析一遍才知道依赖了那些模块,这也是很多人诟病CMD的一点,牺牲性能来带来开发的便利性,实际上解析模块用的时间短到可以忽略。
参考技术B 前端的ATM和CMD的区别的话是可以进入它的一个编程的程序一个指令,所以它们是不一样的。

以上是关于前端amd和cmd的区别的主要内容,如果未能解决你的问题,请参考以下文章

前端模块化(AMD和CMDCommonJs)

前端模块化(CommonJs,AMD和CMD)

前端模块化(CommonJs,AMD和CMD)

前端模块化

前端-模块化

前端模块化CMD规范seajs的使用