AMD与CMD的区别

Posted

tags:

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

参考技术A

以上AMD的写法是官方推崇的方式,但是同时也支持CMD的写法

require.js与sea.js的区别

hi,感谢各位读者能够阅读我的文章.

下面为大家讲解一下require.js和sea.js的区别.纯属个人意见,不喜勿喷.

 

首先原理上的区别

sea.js遵循CMD规范.书写方式类似node.js的书写模板代码.依赖的自动加载,配置的简洁清晰.说白了就是懒加载.

require.js遵循AMD规范,CMD和AMD基本相同,最大的区别是就CMD是懒加载,AMD是预加载.

简单来说,就是sea.js属于懒加载,require.js属于预加载.

在这里,顺便扩展一下预加载和懒加载的优缺点

预加载:当第一次访问时将所有的文件加载出来

优点:第一次访问完成以后, 再次访问的速度会很快

缺点:第一次加载页面要等待很久.

懒加载:使用的时候才会加载对应的文件.

优点:第一次访问速度相对快点

缺点:再访问其他新的模块时速度会变慢.

 

 

 

书写上面的区别..

都是用define来定义一个模板.通过require,exports,module三个参数来调动函数.

基本上他们的用法是大同小异的.不过要两点较大的区别是需要大家去注意的:

1)sea.js使用模块时用方法seajs.use,而require.js直接用require关键字

2)sea.js只使用一个模块时可以只传入一个字符串,但是require传入的必须是一个数组.

 

以上是我对sea.js与require.js的区别的理解,希望大家可以增加漏点,订正错点.不喜勿喷,谢谢.

以上是关于AMD与CMD的区别的主要内容,如果未能解决你的问题,请参考以下文章

AMD与CMD区别

AMD和CMD是啥?它们的区别都有哪些?

AMD 和 CMD 的区别都有哪些

前端模块化,AMD与CMD的区别

SeaJS与RequireJS最大的区别

前端amd和cmd的区别