Node.js丨青训营笔记

54 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第6天。今天老师带我们学习了Node.js,简单的说 Node.js 就是运行在服务端的Node.js是一个基于 Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动 I/O 服务端 JavaScript环境,基于Google的 V8引擎,V8引擎执行 Javascript的速度非常快,性能非常好。如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器,并配上 mod_php5 模块和 php-cgi。从这个角度看,整个"接收 HTTP 请求并提供 Web 页面"的需求就不需要 PHP 来处理。不过对 Node.js来说,概念完全不一样了。使用 Node.js时,我们不仅仅在实现一个应用,同时还实现了整个HTTP服务器。事实上,我们的Web应用以及对应的Web服务器基本上是一样的。NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:1.允许用户从NPM服务器下载别人编写的第三方包到本地使用。2.允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。3.允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。Node.js异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函数在完成任务后就会被调用,Node使用了大量的回调函数,Node所有API都支持回调函数。例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件I/O操作。这就大大提高了Node.js的性能,可以处理大量的并发请求。