CommonJS诞生
Node.js并不是第一个尝试使JavaScript运行在浏览器之外的项目中。其中包括网景公司实现的服务端JavaScript、ASP中JScript、VBScript、MongoDB等新型非关系型数据库。基于JavaScript的服务器端实现开始遍地开花,CommonJS应运而生
CommonJS 规范与实现
CommonJS是一套规范统一JavaScript在浏览器之外的实现,如同,当年为了统一JavaScript语言标准,制定ECMAScript规范一样。CommonJS试图定义一套普通应用程序使用的API来填补JavaScript标准库过于简单不足。CommonJS的终极目标是制定一个像C++标准库一样的规范,使得基于CommonJS API的应用程序可以在不同的环境下运行,为了保持中立,CommonJS不参与标准库实现,交给类Node.js项目来完成
CommonJS 规范包括了模块(modules)、包(packages)、系统(system)、二进制(binary)、控制台(console)、编码(encodings)、文件系统(filesystems)、套接字(sockets)、单元测试(unit testing)等部分
Node.js 是目前CommonJS规范最热门的一个实现,它基于CommonJS的Modules/1.0规范实现了Node.js的模块,同时随着CommonJS规范的更新,Node.js也在不断跟进。