这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天,今天学习的是node.js,将学习的内容记录下来,以便时时巩固记忆。
什么是Node.js
Node.js是一个JavaScript的运行环境,可以快速构建网络服务及应用的平台,是JavaScript语言构建的服务平台,主要用于后端。
Node.js的优势:
1、学习曲线平缓,开发效率较高。
2、运行效率接近于常见的编程语言。
3、社区生态丰富及工具链成熟。
4、与前端结合的场景会有优势。
Node.js应用场景:
1、单页面、多Ajax请求应用,因为前端有大量的异步请求,需要后端有极高的响应速度。
2、基于Node.js开发Unix命令行工具,Node.js可以产生大量子进程,并以流的方式输出。
3、Node.js在Web应用中会充分利用流式数据的特点,构建应用。
Node.js 运行时结构
主要包括三个特点:1、异步IO 2、单线程 3、跨平台
异步I/O:Node.js执行I/O操作时候,会在响应返回后恢复操作而不是阻塞线程并占用额外内存等待。
单线程:单线程不用考虑线程状态同步的问题,还能比较高效地利用系统资源。但是阻塞时会产生更对的负面影响。
跨平台:Node.js可以跨平台,整体实现成本低。
Node.js REPL
Node.js REPL(交互式解释器) 表示一个电脑的环境,类似 Windows 系统的终端或 Unix/Linux shell,我们可以在终端中输入命令,并接收系统的响应。
Node.js回调函数:我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。