Logo
Section 1 / 10

Node.js 概述

了解 Node.js 的各个组成部分。

导入

Node.js 概述

了解 Node.js 的各个组成部分。

在本章中,我们将专注于课程管理应用的后端开发。通过搭建 Node.js 环境、安装所需依赖包、组织项目结构,并实现前后端的连接,完成整个后端系统的构建。在进入具体的代码编写之前,我们先简要了解 Node.js 的基本概念及其主要特性。

什么是 Node.js?

Node.js 由 Ryan Dahl 大约 12 年前创建,是一个基于 Google Chrome V8 引擎的强大开源服务器端平台。

...

它使得 JavaScript 可以在服务器端运行,能够用于构建多种类型的应用程序,例如实时聊天应用、Web 应用、数据流应用、单页应用等。需要特别说明的是,Node.js 并不是一种编程语言,而是一个 JavaScript 运行时环境。其核心特性如下:

...
Node.js 的核心特性

内置模块

Node.js 提供了一些无需通过 npm 安装即可直接使用的内置模块。我们可以通过 require 或 import 语法来引入这些模块:

1const http = require('http');

以下是部分常用的内置模块:

Node.js 的内置模块

内置模块说明
http用于在 Node.js 中创建 HTTP 服务器。
https用于在 Node.js 中创建 HTTPS 服务器。
buffer用于处理包含二进制数据的流。
dns用于连接 DNS 服务器并执行域名解析操作。
fs用于操作文件系统。
url提供解析 URL 的工具函数。
path提供处理文件路径的方法。
events用于事件的处理与监听。
stream用于数据流的处理与传输。

跨平台兼容性

由于 Node.js 应用使用 JavaScript 编写,因此可以在 Windows、Linux 和 macOS 等多种操作系统上运行。这一特性大大简化了开发流程,使代码可跨平台复用,适用于 Web 应用以及 Windows、macOS 和 Linux 的桌面版本。

单线程模型

Node.js 采用单线程模型,类似于 JavaScript 的运行机制。它通过事件循环(event loop)来处理多个并发客户端请求,从而高效地应对大量并发访问,相比传统服务器具有更高的性能表现。

异步特性

同步编程是指任务按顺序依次执行,一个任务必须等待前一个完成后才能开始。这是传统的编程方式。而异步编程允许任务独立运行,彼此之间无依赖关系。在 Node.js 中,所有 API 都是异步的。当服务器调用某个 API 且尚未返回结果时,服务器会立即转向下一个可用的 API,继续执行后续操作,不会阻塞等待。

调试工具

Node.js 自带一个基础调试器,虽然功能不如专业工具全面,但足以进行简单的代码检查。可通过在终端中使用 inspect 参数来启动调试模式。例如,要调试名为 nodescript.js 的文件,可以运行以下命令:

1$ node inspect nodescript.js

全局对象

全局对象在 Node.js 的所有模块中都可用。它们是 JavaScript 语言的一部分,无需导入特定模块即可直接使用。以下是部分常见的全局对象:

  • __dirname
  • __filename
  • Console
  • Process
  • setImmediate(callback[, arg][, ...])
  • setInterval(callback, delay[, arg][, ...])
  • setTimeout(callback, delay[, arg][, ...])
  • clearImmediate()
  • clearInterval()
  • clearTimeout()
  • queueMicrotask()
  • textDecoder
  • textEncoder

MEAN栈简介

理解文件夹结构