什么是Node.js?官网上(http://www.nodejs.org)给Node.js下的定义是:
Node.js is a JavaScript runtime built on Chrome‘s V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js‘ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
Node.js是一个搭建在Chrome V8 JavaScript引擎的运行时上的平台。Node.js采用了事件驱动、非阻塞I/O模型,这使得它既轻量又高效。Node.js的包生态系统npm(https://www.npmjs.com/)是世界上最大的开源库生态系统。
1. 构建于JavaScript之上
为什么Node.js要构建在JavaScript之上?除了JavaScript本身非常流行之外(只要你做Web开发肯定会接触到),以下几点都是选择JavaScript的好处:
(1. 开发人员可以在前端和后端使用同一种开发语言。除了降低语言学习成本外,还可以在前端和后端之间共享代码。
(2. JSON是目前非常流行的数据交换格式,并且是JavaScript原生的。
(3. 有些NoSQL数据库就是使用的JavaScript作为查询语言(CouchDB和MongoDB)。
(4. JavaScript是一门目标编译语言,现在有很多可以编译成JavaScript的语言。
(5. Node用的虚拟机(V8)会采用最新的ECMAScript标准。
2. 事件驱动和非阻塞I/O