Node.js(简称 Node)是开源服务器端 JavaScript 运行时环境。 可以使用 Node.js 在浏览器以外的多个位置(例如服务器上或 CI/CD 管道中)运行 JavaScript 应用程序和代码。
Node.js 是名为 V8 的 JavaScript 引擎的包装器,它支持许多浏览器,包括 Google Chrome、Opera、Safari、Microsoft Edge、Firefox 等。 通过在浏览器外使用 V8 引擎,可以使用 Node.js 来运行 JavaScript。 Node.js APIS 提供对许多可能需要使用的系统的访问,例如 HTTP、OS、路径、文件系统、加密和工作线程。 这些 API 使 Node.js 成为构建 Web 服务器的不错选择。
参见:什么是 Node.js? - Training | Microsoft Learn
JavaScript 应用程序具有两种类型的任务:
- 同步任务:这些任务将按顺序执行。 完成它们不依赖于其他资源。 例如数学运算或字符串操作。
- 异步:这些任务可能不会立即完成,因为它们依赖于其他资源。 例如网络请求或文件系统操作。
由于希望程序尽可能快地运行,因此你会希望 JavaScript 引擎能够在等待异步操作的响应时继续工作。 为此,它将异步任务添加到任务队列,并继续处理下一个任务。
异步技术有三种样式,你需要能够在工作中识别它们:
- Async/await(推荐):最新的异步技术,它使用
async
和await
关键字接收异步操作的结果。 Async/await 用于许多编程语言中。 通常,具有较新依赖项的新项目将使用此异步代码样式。 - 回调:原始异步技术,它使用回调函数接收异步操作的结果。 你在较旧的代码库和较旧的 Node.js API 中会看到此技术。
- 承诺:一种较新的异步技术,它使用承诺对象接收异步操作的结果。 你在较新的代码库和较新的 Node.js API 中会看到此技术。 你可能需要在工作中编写基于承诺的代码,以包装不会更新的较旧 API。 通过使用承诺进行此包装,与较新的 async/await 样式的代码相比,你可以在更大范围的 Node.js 版本化项目中使用该代码。
安装 Node.js
与 MongoDB 一样,该过程涉及注册 Node.js 存储库,以便 apt
可找到包。
-
使用以下命令,注册 Node.js 存储库,以便包管理器可找到包。 根据 Internet 连接,此步骤可能需要 10 分钟或更长时间。 你可能会看到此脚本的弃用警告,这会导致短暂延迟,但安装确实已完成。
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -
-
安装 Node.js 程序包:
sudo apt install nodejs
-
运行
node -v
以验证安装:node -v
输出显示拥有 Node.js 的最新 LTS 版本。
创建 Node.js 脚本
Node.js 还支持从文件运行代码。
-
在开发容器中创建名为“hello-world”的新文件夹。
-
右键单击文件夹名称,然后选择“在集成终端中打开”,打开终端中的新文件夹。
-
在终端中,npm init -y 初始化节点项目。
-
安装 Node 包
node-fetch
来进行异步 HTTP 请求。 npm install node-fetch -
打开
package.json
文件并添加以下属性以允许顶级 async/await。 "type":"module", -
在新文件夹中创建名为“index.js”的文件。
-
将以下代码复制到“index.js”文件中:console.log('Hello World, from a script file.');
-
在终端中,输入
node
命令,后跟文件名 index.js node index.js
应会看到输出。