CommonJS、AMD和RequireJS、NodeJS之间的关系

个人理解是这样的:编程

  首先,JavaScript是一个强大的脚本(函数式+面向对象)语言,它有不少快速高效的解释器,然而,它并无一个用于更普遍应用程序的标准库。浏览器

 

  CommonJS是个规范,这个规范中定义了许多API,用于普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个相似Python,Ruby和Java标准库。这样的话,开发者能够使用CommonJS API编写应用程序,而后这些应用能够运行在不一样的JavaScript解释器和不一样的主机环境中。异步

 

  NodeJS就是CommonJS这个规范的实现者。模块化

 

  CommonJS其中就有一个Modules规范,这个Modules规范设计之初是为了server端设计的,它是一个同步的模式,这种模式并不适合浏览器端,因此AMD规范诞生了,它最大的特色就是能够异步的方式加载模块。函数

 

  RequrieJS其实就是AMD如今用的最普遍,最流行的实现,其中,Require.js主要提供define和require两个方法来进行模块化编程,前者用来定义模块,后者用来调用模块。ui

相关文章
相关标签/搜索