RequireJS
RequireJS是一个JavaScript文件或者模块的加载器。
它可以提高JavaScript文件的加载速度,避免不必要的堵塞.
它针对于在浏览器环境中使用做过专门的优化,但它也可以在其他的JavaScript环境中使用,像Node.js一样可以在服务器上运行。
CommonJS
CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python , Ruby和Java标准库。
这样的话,开发者可以使用CommonS API编写应用程序,然后这些应用可以运行在不同的JavaScript解释器和不同的主机环境中。
在兼容CommonJS的系统中,你可以使用JavaScript程序开发:
1.服务器端JavaScript应用程序
2.命令行工具
3.图形界面应用程序
4.混合应用程序(如,Titanium或Adobe AIR)
[NodeJS和CommonJS之间的关系】
CommonJS是—种规范,NodeJS是这种规范的实现。
AMD和CMD
AMD是RequireJS在推广过程中对模块定义的规范化产出。
CMD是SeaJS在推广过程中对模块定义的规范化产出.
这些规范的目的都是为了JavaScript的模块化开发,特别是在浏览器端的.
目前这些规范的实现都能达成浏览器端模块化开发的目的。
区别∶
1.对于依赖的模块,AMD是提前执行,CMD是延迟执行。不过RequirelS 从2.0开始,也改成可以延迟执行(根据写法不同,处理方式不同),CMD推崇推崇依赖就近,AMD推崇依赖前置