Visual Studio Code 中的 Node.js 教程
Node.js 是一个使用 JavaScript 构建快速且可扩展服务器应用程序的平台。Node.js 是运行时,npm 是 Node.js 模块的包管理器。
Visual Studio Code 对 JavaScript 和 TypeScript 语言以及 Node.js 调试提供开箱即用的支持。但是,要运行 Node.js 应用程序,您需要在您的计算机上安装 Node.js 运行时。
若要开始此演练,请为您的平台安装 Node.js。Node 包管理器包含在 Node.js 发行版中。您需要打开一个新的终端(命令提示符),以便 node
和 npm
命令行工具位于您的 PATH 中。
要测试您是否已在计算机上正确安装 Node.js,请打开一个新的终端并键入 node --version
,您应该会看到已安装的当前 Node.js 版本。
Linux:有适用于各种 Linux 版本的特定 Node.js 包。请参阅通过包管理器安装 Node.js以查找针对您的 Linux 版本量身定制的 Node.js 包和安装说明。
适用于 Linux 的 Windows 子系统:如果您使用的是 Windows,WSL 是进行 Node.js 开发的好方法。您可以在 Windows 上运行 Linux 发行版,并将 Node.js 安装到 Linux 环境中。当与WSL 扩展结合使用时,您将在 WSL 的上下文中运行时获得完整的 VS Code 编辑和调试支持。若要了解更多信息,请转到在 WSL 中开发或尝试在 WSL 中工作教程。
你好,世界
让我们从创建最简单的 Node.js 应用程序“你好,世界”开始。
创建一个名为“hello”的空文件夹,导航到该文件夹并打开 VS Code
mkdir hello
cd hello
code .
提示:您可以直接从命令行打开文件或文件夹。句点“.”表示当前文件夹,因此 VS Code 将启动并打开
Hello
文件夹。
在文件资源管理器工具栏中,按新建文件按钮
并将文件命名为 app.js
通过使用 .js
文件扩展名,VS Code 会将此文件解释为 JavaScript,并使用 JavaScript 语言服务评估内容。请参阅 VS Code JavaScript 语言主题,以了解有关 JavaScript 支持的更多信息。
在 app.js
中创建一个简单的字符串变量,并将字符串的内容发送到控制台
var msg = 'Hello World';
console.log(msg);
请注意,当您键入 console.
时,会自动向您显示 console
对象上的 IntelliSense。
另请注意,VS Code 知道 msg
是一个字符串,这是基于初始化为 'Hello World'
的结果。如果您键入 msg.
,您将看到 IntelliSense 显示 msg
上可用的所有字符串函数。
在试用 IntelliSense 后,还原源代码示例中的任何额外更改并保存文件(⌘S(Windows、Linux Ctrl+S))。
运行 Hello World
使用 Node.js 运行 app.js
非常简单。从终端,只需键入
node app.js
您应该看到“Hello World”输出到终端,然后 Node.js 返回。
集成终端
VS Code 有一个集成终端,您可以使用它来运行 shell 命令。您可以直接从此处运行 Node.js,并在运行命令行工具时避免退出 VS Code。
视图 > 终端(⌃` (Windows、Linux Ctrl+`) 使用反引号字符)将打开集成终端,您可以在其中运行 node app.js
对于本演练,您可以使用外部终端或 VS Code 集成终端来运行命令行工具。
调试 Hello World
如引言中所述,VS Code 随附用于 Node.js 应用程序的调试器。让我们尝试调试我们简单的 Hello World 应用程序。
若要在 app.js
中设置断点,请将编辑器光标放在第一行上并按 F9 或单击行号旁边的编辑器左侧装订线。装订线中将出现一个红色圆圈。
若要开始调试,请在活动栏中选择 运行和调试 视图
现在,您可以单击调试工具栏绿色箭头或按 F5 以启动和调试“Hello World”。将命中您的断点,您可以查看和逐步执行简单的应用程序。请注意,VS Code 会显示不同的颜色状态栏,以指示它处于调试模式,并且会显示“调试控制台”。
现在您已经了解了 VS Code 在“Hello World”中的实际操作,下一节将介绍如何将 VS Code 与完整堆栈的 Node.js Web 应用程序一起使用。
注意:我们已经完成了“Hello World”示例,因此在创建 Express 应用程序之前,请导航出该文件夹。您可以删除“Hello”文件夹(如果您愿意),因为本演练的其余部分不需要它。
Express 应用程序
Express 是用于构建和运行 Node.js 应用程序的非常流行的应用程序框架。您可以使用 Express Generator 工具搭建(创建)新的 Express 应用程序。Express Generator 作为 npm 模块提供,并通过使用 npm 命令行工具 npm
进行安装。
提示:要测试您是否已在计算机上正确安装
npm
,请从终端键入npm --help
,您应该会看到用法文档。
通过从终端运行以下命令来安装 Express Generator
npm install -g express-generator
-g
开关会在您的计算机上全局安装 Express Generator,因此您可以从任何位置运行它。
我们现在可以通过运行以下命令来搭建一个名为 myExpressApp
的新 Express 应用程序
express myExpressApp --view pug
这将创建一个名为 myExpressApp
的新文件夹,其中包含您的应用程序的内容。--view pug
参数会告知生成器使用 pug 模板引擎。
若要安装应用程序的所有依赖项(同样作为 npm 模块提供),请转到新文件夹并执行 npm install
cd myExpressApp
npm install
此时,我们应该测试应用程序是否运行。生成的 Express 应用程序具有一个 package.json
文件,其中包含一个 start
脚本来运行 node ./bin/www
。这将启动 Node.js 应用程序的运行。
从 Express 应用程序文件夹中的终端运行
npm start
Node.js Web 服务器将启动,您可以浏览到 https://127.0.0.1:3000 以查看正在运行的应用程序。
出色的代码编辑
关闭浏览器,并从 myExpressApp
文件夹中的终端中,按 CTRL+C 停止 Node.js 服务器。
现在启动 VS Code
code .
注意:如果您一直在使用 VS Code 集成终端来安装 Express 生成器并搭建应用程序,您可以使用 文件 > 打开文件夹 命令从正在运行的 VS Code 实例中打开
myExpressApp
文件夹。
Node.js 和 Express 的文档很好地解释了如何使用该平台和框架构建丰富的应用程序。Visual Studio Code 通过提供出色的代码编辑和导航体验,将使您在开发这些类型的应用程序时更高效。
打开 app.js
文件,并将鼠标悬停在 Node.js 全局对象 __dirname
上。 请注意,VS Code 如何理解 __dirname
是一个字符串。 更有趣的是,您可以针对 Node.js 框架获得完整的 IntelliSense。 例如,您可以 require http
,并在 Visual Studio Code 中键入时针对 http
类获得完整的 IntelliSense。
VS Code 使用 TypeScript 类型声明(类型定义)文件(例如 node.d.ts
)向 VS Code 提供有关您在应用程序中使用的基于 JavaScript 的框架的元数据。 类型声明文件是用 TypeScript 编写的,因此它们可以表达参数和函数的数据类型,从而允许 VS Code 提供丰富的 IntelliSense 体验。 感谢一项名为 自动类型获取
的功能,您无需担心下载这些类型声明文件,VS Code 会自动为您安装它们。
您还可以编写引用其他文件中模块的代码。 例如,在 app.js
中,我们 require ./routes/index
模块,该模块导出一个 Express.Router
类。 如果您在 index
上调出 IntelliSense,您可以看到 Router
类的形状。
调试您的 Express 应用程序
您需要为您的 Express 应用程序创建一个调试器配置文件 launch.json
。 点击活动栏中的运行和调试(⇧⌘D (Windows, Linux Ctrl+Shift+D)),然后选择创建 launch.json 文件链接以创建默认的 launch.json
文件。 通过确保 configurations
中的 type
属性设置为 "node"
,来选择 Node.js 环境。 首次创建该文件时,VS Code 将在 package.json
中查找 start
脚本,并将该值用作启动程序配置的 program
(在本例中为 "${workspaceFolder}\\bin\\www
)。
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}\\bin\\www"
}
]
}
保存新文件,并确保在运行和调试视图顶部的配置下拉列表中选择启动程序。 打开 app.js
,并在文件顶部附近通过单击行号左侧的装订线来设置一个断点,该断点位于创建 Express app 对象的位置。 按 F5 开始调试应用程序。 VS Code 将在新终端中启动服务器,并命中我们设置的断点。 从那里,您可以检查变量、创建观察点并逐步执行您的代码。
部署您的应用程序
如果您想了解如何部署您的 Web 应用程序,请查看 将应用程序部署到 Azure 教程,其中我们展示了如何在 Azure 中运行您的网站。
后续步骤
Visual Studio Code 还有很多值得探索的地方,请尝试以下主题
- Node.js 配置文件模板 - 使用精选的扩展、设置和代码片段创建新的 配置文件。
- 设置 - 了解如何根据您的工作方式自定义 VS Code。
- 调试 - 这是 VS Code 真正闪耀的地方。
- 视频:VS Code 中的调试入门 - 了解如何在 VS Code 中使用调试。
- Node.js 调试 - 了解有关 VS Code 内置 Node.js 调试的更多信息。
- 调试秘诀 - 客户端和容器调试等场景的示例。
- 任务 - 使用 Gulp、Grunt 和 Jake 运行任务。 显示错误和警告。