这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
NodeJs
官网解释
Node.js® is a JavaScript runtime built on
link.zhihu.com/?target=htt…
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.
NodeJS 是基于Chrome V8引擎的 JavaScript 运行环境。NodeJS使用事件驱动的、非阻塞的I/O模型,这使它变得轻量级和高效。NodeJS的包管理生态是 NPM,是现在世界上最大的开源程序包库。
创始
创始人Ryan Dahl,是一位专注于实现高性能Web服务器优化的专家,一直想要解决服务器高并发问题,在Chrome V8 引擎(高性能js引擎)发布之后,基于V8引擎开发出了一个可以让js运行在服务器端的环境。
V8运行在客户端,既然在客户端是可以发请求接收返回信息,那么把它放到服务器端应该也可以,所以他改了一些V8引擎的内核,收发请求之类的,然后将V8搬到了服务器端。
nodejs不是一种独立的语言,是使用js来进行编程,运行在V8引擎上。(底层代码是C++)
NodeJS之前,JavaScript运行环境是浏览器,NodeJS之后JavaScript又多了一个运行环境,就是NodeJS。
Node.js VS Javascript
javascript的组成
- ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
- DOM(一些操作页面元素的方法)
- BOM(一些操作浏览器的方法)
node.js的组成
- ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
- OS(操作系统)
- file(文件系统)
- net(网络系统)
- database(数据库)
总结
- node.js是平台,javascript是编程语言;
- node.js应用于后端,javascript应用于前端
- javascript是客户端编程语言,需要浏览器的javascript解释器进行解释执行;
- node.js是一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境;
- 简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用ECMAScript语法进行编程,在node.js上运行。因此,可以将node.js看成是运行在服务端的 javascript。
写在结尾
还有许多关于node.js的知识,例如node.js里有许多内置模块,还可以结合express或者是koa框架去使用