教程介绍
本Node.js教程提供了Node.js的基本和高级概念。
本Node.js教程专为初学者和专业人士设计。
Node.js是用于运行JavaScript应用程序的跨平台环境和库,用于创建网络和服务器端应用程序。
本Node.js教程涵盖了Node.js的所有主题,例如在Windows和Linux上安装Node.js,REPL,程序包管理器,回调,事件循环,操作系统,路径,查询字符串,密码,调试器,URL,DNS,Net, UDP,进程,子进程,缓冲区,流,文件系统,全局对象,Web模块等。
Node.js面试问题也可以帮助您更好地理解Node.js技术。
什么是Node.js
Node.js是一个跨平台的运行时环境和库,用于在浏览器外部运行JavaScript应用程序。 它用于创建服务器端和网络Web应用程序。 它是开源的,可以免费使用。可以从此链接https://nodejs.org/en/下载
Node.js的许多基本模块都是用JavaScript编写的,Node.js主要用于运行实时服务器应用程序。
其官方文档给出的定义如下:
Node.js是基于Chrome的JavaScript运行时构建的平台,可轻松构建快速且可扩展的网络应用程序。 Node.js使用事件驱动的非阻塞I / O模型,使其轻巧高效,非常适合跨分布式设备运行的数据密集型实时应用程序。
Node.js还提供了各种JavaScript模块的丰富库,以简化Web应用程序的开发。
即:Node.js = Runtime Environment + JavaScript Library
Node.js组成
下图指定了Node.js的一些重要部分:
Node.js特性
以下是Node.js的一些重要功能的列表,这些使其成为软件架构师的首选。
极快:Node.js基于Google Chrome的V8 JavaScript Engine构建,因此其库在代码执行方面非常快。
I/O是异步的且受事件驱动:Node.js库的所有API都是异步的,即非阻塞。因此,基于Node.js的服务器永远不会等待API返回数据。服务器在调用它后移到下一个API,Node.js事件的通知机制帮助服务器从上一个API调用中获取响应。这也是非常快的原因。
单线程:Node.js遵循带有事件循环的单线程模型。
高度可扩展:Node.js具有高度可扩展性,因为事件机制可帮助服务器以非阻塞方式进行响应。
无缓冲:Node.js减少了上载音频和视频文件时的总体处理时间。 Node.js应用程序永远不会缓冲任何数据。这些应用程序简单地以块的形式输出数据。
开源:Node.js具有一个开源社区,该社区产生了许多出色的模块,为Node.js应用程序添加了附加功能。
许可证:Node.js是根据MIT许可证发布的。
前提条件
在学习Node.js之前,您必须具有JavaScript和任何编程语言的基础知识。