JavaScript 中 AMD 与 CMD

作者:vkvi 来源:ITPOW(原创) 日期:2016-9-19

JavaScript 框架很多。

有一类是 jQuery 一类的,封装、扩展了语言特性的,主要是提供功能。这不是本文讨论的。

有一类是 RequireJS、SeaJS 一类的,这类是干什么的呢?我们知道现在的 JS 库非常多,就拿界面来说,都有封装了美化了的下拉列表框的、Tab 框的、图片轮播的……但我们一个网页又不是把所有的控件都用完,所以这些控件以不同的文件存放,我们需要哪一个控件就用 script 标签引用。但是情况复杂时,这种引用方式就会变得很麻烦,还可以涉及到引用 A 文件,需要先引用 B 文件等等依赖。所以就有了本文讨论的 AMD、CMD。

能不能像 Java import、C# using 一样高大上地使用呢?

AMD、CMD 就是这样的规范,就是说大家写 JS 模块时遵照这个规范来,那么其他人在用这些模块的时候,就会比较方便地引用,不再是不停地使用 script 标签。

不过,这些仅仅是规范,甚至可以说是作者个人的倡导,它不是行业标准,我觉得不应该作为企业录用人员的技术要求(有些 IT 企业就是死板,录用一个人就要求会这会那,其实重点应该考核员工的逻辑思维、解决问题、沟通协调等能力,而不是会不会一个语言、一个工具)。

这篇是关于 AMD、CMD 比较全的:http://blog.chinaunix.net/uid-26672038-id-4112229.html

但是对于初学者还是一头雾水,那先看看这篇,关于 SeaJS 的:http://www.tuicool.com/articles/3uIZzy

再看看大家对 AMD(代表框架 RequireJS)、CMD(代表框架 SeaJS)的区别介绍:http://www.zhihu.com/question/20351507

还有:http://www.zhihu.com/question/20576942/answer/15530214

再有:http://blog.csdn.net/wpx_20131212/article/details/50659479

再有:http://www.cnblogs.com/dojo-lzz/p/4707725.html

相关文章