Learning Path
浏览 Node.js 相关教程与章节。
PHP、Node.js、Java Web、Python Web 框架、API 与服务端开发。
教程
65
Node.js 教程 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。 Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。 谁适合阅读本教程? 如果你是一个前端程序员,你不懂得像 PHP、Pytho..
Node.js 工作机制 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它让开发者能够使用 JavaScript 编写服务器端代码。与传统的服务器端技术不同,Node.js 采用了事件驱动和非阻塞 I/O模型,这使得它特别适合处理高并发的网络应用。 核心特点 单线程:Node.js 使用单线程处理请求 事件循环:通过事件驱动机制处理并发 非阻塞 I/O:I/O 操作不会阻塞主线程 跨平台:..
Node.js GET/POST请求 在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交。 表单提交到服务器一般都使用 GET/POST 请求。 本章节我们将为大家介绍 Node.js GET/POST请求。 获取GET请求内容 由于 GET 请求直接被嵌入在路径中,URL 是完整的请求路径,包括了 ? 后面的部分,因此你可以手动解析后面的内容作为 GET 请求的参数。 node.js 中 可以使用 URL 构造函..
Node.js https 模块 Node.js 内置模块 https 是 Node.js 内置的核心模块,用于创建 HTTPS 服务器和客户端,处理安全的 HTTP 请求和响应。HTTPS 是在 HTTP 基础上通过 SSL/TLS 协议加密的安全传输协议。 与 http 模块相比,https 模块的主要区别在于: 使用 SSL/TLS 加密通信 默认端口是 443 而非 80 需要数字证书来验证服务器身份 核心功能 创建 ..
Node.js assert 模块 Node.js 内置模块 Node.js 中的 assert 模块是一个用于编写单元测试的内置工具库。它提供了一系列断言函数,用于验证代码的行为是否符合预期。如果断言失败,assert 模块会抛出 AssertionError 异常。 assert 模块非常适合在开发和测试阶段使用,可以帮助开发者快速发现代码中的问题。 如何使用 assert 模块? 要使用 assert 模块,首先需要引入它..
Node.js async/await 在 Node.js 中,async/await 是一种处理异步操作的语法糖。 async/await 基于 Promise,但让异步代码看起来更像同步代码,极大地提高了代码的可读性和可维护性。 async 关键字用于声明一个函数是异步的,而 await 关键字用于等待一个 Promise 的解决(resolve)或拒绝(reject)。使用 async/await 可以避免回调地狱(callb..
Node.js 异步编程 在传统的同步(Synchronous)编程中,代码是按顺序执行的,每一行代码必须等待前一行代码执行完成后才能运行。而异步编程(Asynchronous)则允许代码在等待某些操作(如 I/O 操作)完成的同时继续执行其他任务,不会阻塞程序的运行。 Node.js 采用异步 I/O 模型,这使得它特别适合处理高并发的网络应用。理解异步编程是掌握 Node.js 的关键。 为什么 Node.js 需要异步编..
Node.js Buffer 模块 Node.js 内置模块 Buffer 是 Node.js 中用于处理二进制数据流的类。在计算机中,所有数据最终都是以二进制形式存储和传输的,Buffer 提供了一种在 Node.js 中高效处理这些原始二进制数据的方式。 你可以把 Buffer 想象成一个固定大小的"容器",专门用来存放原始二进制数据。与 JavaScript 中的普通数组不同,Buffer..
Node.js Buffer(缓冲区) JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 Node.js 中的 Buffer 类是用于处理二进制数据的核心工具,提供了对二进制数据的高效操作。Buffer 类在处理文件操作、网络通信、图像处理等场景中特别有用。特性: 二进制数据:Buffer 对象是一个包含原始二进制数据的固定大小的数组。每个元素占用一个字节(8位),因此 Buffer 适合处理二进制数据,如文件..
Node.js 构建简单应用 在 Node.js 中构建一个简单应用通常包括以下几个步骤: 安装 Node.js 设置项目目录 初始化项目 创建服务器 并处理请求和响应 接下来,我们将一步步介绍如何用 Node.js 构建一个简单的 HTTP 应用程序。 1、安装 Node.js 首先确保系统上已安装 Node.js 和 npm,可以在命令行中输入以下命令进行验证: node -v npm -v 如果还未安装,请参考:..
Node.js 内置模块 Node.js 内置模块是 Node.js 运行时自带的、无需额外安装即可使用的核心功能模块。这些模块提供了基础的系统功能,如文件操作、网络通信、进程管理等,是 Node.js 开发的基础工具。 与需要通过 npm 安装的第三方模块不同,内置模块可以直接通过 require() 函数加载使用,例如: [mycode4 type='javascript'] const fs = requ..
Node.js 回调函数 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它使得 JavaScript 可以脱离浏览器运行在服务器端。 Node.js 的核心特性之一是其非阻塞 I/O(输入/输出)模型,这使得 Node.js 非常适合处理高并发的网络应用。 Node.js 异步编程的直接体现就是回调。 在 Node.js 中,回调函数是一种异步编程模式,用于处理 I/O 操作,如文件读写、数据库..
Node.js child_process 模块 Node.js 内置模块 Node.js 是一个单线程的 JavaScript 运行时环境,但有时候我们需要执行一些系统命令或运行其他程序。这时就需要用到 child_process 模块。 child_process 模块允许 Node.js 应用程序创建子进程,这些子进程可以执行系统命令、运行其他脚本或程序,并与父进程进行通信。 为什么需要 child_process? 执..
Node.js Cluster 模块 Node.js 内置模块 Node.js 的 cluster 模块允许你轻松创建共享同一服务器端口的子进程(worker processes)。由于 Node.js 是单线程的,cluster 模块可以帮助我们充分利用多核 CPU 系统的性能。 简单来说,cluster 模块就像是一家餐厅的经理,它创建多个服务员(worker)来处理顾客(请求),而不是让一个服务员处理所有顾客。 为什么需..
Node.js 模块导入 当你开始写 Node.js 项目时,最先遇到的问题之一就是——如何导入模块(module)。 在 Node.js 里,模块就是可以重复使用的 JavaScript 文件,它们之间通过导入(import)和导出(export)互相通信。 Node.js 生态系统主要支持两种模块系统:CommonJS 和 ES Modules (ESM)。 模块系统 ..
Node.js console 模块 Node.js 内置模块 console 模块是 Node.js 中最常用的内置模块之一,它提供了一个简单的调试控制台,类似于浏览器中的 JavaScript console 对象。这个模块主要用于向标准输出(stdout)和标准错误(stderr)打印信息,是开发过程中调试和记录日志的重要工具。 console 模块的基本用法 1. 打印普通信息 console.log() 是最常用的方法,..
Node.js crypto 模块 Node.js 内置模块 Node.js 的 crypto 模块是一个内置模块,提供了加密功能,包括对 OpenSSL 的哈希、HMAC、加密、解密、签名和验证功能的封装。它允许开发者在 Node.js 应用程序中执行各种加密操作。 核心功能 哈希算法 哈希算法是将任意长度的输入转换为固定长度输出的单向函数。crypto 模块支持多种哈希算法,如 SHA-256、MD5 等。 实例 [m..
Node.js dgram 模块详解 Node.js 内置模块 Node.js 的 dgram 模块提供了 UDP(User Datagram Protocol)数据报套接字的实现。UDP 是一种无连接的传输层协议,与 TCP 不同,它不保证数据的可靠传输,但具有更低的延迟和更高的传输效率。 主要特点 无连接:不需要建立连接即可发送数据 轻量级:协议头部开销小(仅 8 字节) 高效:没有连接建立和断开的开销 不可靠:不保证数据包的..
Node.js dns 模块 Node.js 内置模块 Node.js 的 dns 模块是一个用于域名系统(DNS)查询的核心模块。DNS(Domain Name System)是将人类可读的域名(如 www.example.com)转换为机器可读的IP地址(如 192.0.2.1)的系统。 为什么需要 dns 模块 在网络通信中,计算机实际上是通过IP地址来识别彼此的,但人们更容易记住域名而不是数字IP地址。dns 模块提供了在..
Node.js Domain 模块 Node.js 内置模块 Domain 模块是 Node.js 中用于简化异步代码错误处理的工具。它允许你将多个异步操作分组到一个"域"中,并在该域内统一捕获和处理错误。 简单来说,Domain 就像是一个错误处理的"容器",你可以将相关的异步操作放入这个容器中,然后统一管理这些操作可能产生的错误。 domain 模块的使用在 ..
Node.js 事件循环 事件循环是 Node.js 处理非阻塞 I/O 操作的核心机制,使得单线程能够高效处理多个并发请求。 Node.js 是基于单线程的 JavaScript 运行时,利用事件循环来处理异步操作,如文件读取、网络请求和数据库查询。 事件循环使得 Node.js 能够非阻塞地运行代码、处理多个连接、以及执行异步 I/O 操作。 事件循环使得 Node.js 能够处理大量并发的 I/O 操作而不会导致线程阻塞,这是..
Node.js EventEmitter Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。 Node.js 里面的许多对象都会分发事件:一个 net.Server 对象会在每次有新连接时触发一个事件, 一个 fs.readStream 对象会在文件被打开的时候触发一个事件。 所有这些产生事件的对象都是 events.EventEmitter 的实例。 EventEmitter 是 Node.js 中用于创..
Node.js Events 模块 Node.js 内置模块 Node.js 是一个基于事件驱动的 JavaScript 运行时环境,而 events 模块则是 Node.js 实现事件驱动架构的核心。它允许开发者创建、触发和监听自定义事件,从而实现松耦合的代码结构。 简单来说,events 模块提供了一种机制,让不同的部分(对象)能够相互通信,而无需直接调用彼此的方法。 核心概念 EventEmitter 类 events 模块..
Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。 使用 Express 可以快速地搭建一个完整功能的网站。 Express 框架核心特性: 可以设置中间件来响应 HTTP 请求。 定义了路由表用于执行不同的 HTTP 请求动作。 可以通过向模板传递参数来动态渲染 HTML 页..