一位菜鸟的阐述,随便看看就行
commonJS
commonJS是2009年一月由Mozilla推出的规范,其目标是使JS成为一门全能语言,主要体现在以下几个方面:
服务端应用
命令行工具
桌面图形界面应用
混合应用程序(如Titanium和adobe AIR)
主要规范内容包括modules,packages,process env,buffer,IO stream,file system,charset encode,web server gateway interface,socket等。
以此规范为基础的node.js由老美程序员Ryan Dahl于同年9月创造,基于Chrome 的V8引擎,使用事件驱动,异步IO模型,适用于开发高效的服务端应用,这标志着JavaScript模块化编程正式诞生。由于浏览器为避免假死,脚本全部采用异步加载方式,导致commonJS规范(同步加载)不兼容浏览器环境,需要通过browerify(最近webpack获得青睐)等构建工具进行预编译(即解析模块依赖)生成适用于浏览器环境运行的脚本。
AMD(asynchronous module definition)
此规范以另一种方式解决了浏览器模块化开发问题,相对应的标准实现为require.js,目前应用广泛。相较于commonJS省去了预编译过程,但是重用性较差,语法较松散不够紧凑。
CMD(common module definition)
此规范提出浏览器端与服务器端可通用的模块化解决方案。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。