前端模块化浅入浅出

一位菜鸟的阐述,随便看看就行node

commonJS

commonJS是2009年一月由Mozilla推出的规范,其目标是使JS成为一门全能语言,主要体如今如下几个方面:webpack

  • 服务端应用程序员

  • 命令行工具web

  • 桌面图形界面应用编程

  • 混合应用程序(如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)

此规范提出浏览器端与服务器端可通用的模块化解决方案。socket

相关文章
相关标签/搜索