VSCode如何调试Node.js应用程序 VSCode调试Node.js的完整配置流程

配置launch.JSon文件是vscode调试node.js应用的核心,需在项目根目录的.vscode文件夹中创建并设置调试参数;2. 基础配置包括指定type为node、request为launch、正确设置program入口文件路径,并可配置env环境变量和console输出方式;3. 调试带参数的程序时,在launch.json中添加args数组传入命令行参数;4. 调试使用nodemon的程序需将request设为attach,启动nodemon –inspect后通过pickprocess选择进程附加;5. 调试typescript程序需在launch.json中设置prelaunchtask执行tsc编译任务,启用sourcemaps并指定outfiles路径,同时配置tasks.json和tsconfig.json支持编译和sourcemap生成;6. 遇到”cannot connect to runtime process”错误时,应检查端口冲突、防火墙设置、node.js版本、是否启用–inspect及launch.json配置正确性;7. 调试时可通过variables面板查看变量、watch面板监控表达式、调试控制台执行和修改变量值,以及悬停提示快速查看变量内容,从而高效定位和解决问题。

VSCode如何调试Node.js应用程序 VSCode调试Node.js的完整配置流程

VSCode调试Node.js应用的核心在于配置launch.json文件,指定调试环境和入口文件。配置正确,就能在VSCode里打断点,单步调试,爽歪歪。

VSCode如何调试Node.js应用程序 VSCode调试Node.js的完整配置流程

配置VSCode调试Node.js的完整流程:

  1. 创建.vscode/launch.json文件: 在你的Node.js项目根目录下,如果还没有.vscode文件夹,就新建一个。然后在.vscode文件夹里创建一个launch.json文件。

    VSCode如何调试Node.js应用程序 VSCode调试Node.js的完整配置流程

  2. 配置launch.json: 打开launch.json文件,复制粘贴下面的配置。当然,根据你的项目情况,需要修改一些地方。

{   "version": "0.2.0",   "configurations": [     {       "type": "node",       "request": "launch",       "name": "Launch Program",       "program": "${workspaceFolder}/app.js",       "console": "integratedTerminal",       "internalConsoleOptions": "neverOpen",       "env": {         "NODE_ENV": "development"       }     }   ] }
*   `"type": "node"`:  指定调试类型为Node.js。 *   `"request": "launch"`:  指定启动调试。 *   `"name": "Launch Program"`:  调试配置的名称,随便起,方便你自己识别就行。 *   `"program": "${workspaceFolder}/app.js"`:  指定要调试的入口文件。  `${workspaceFolder}`  表示当前项目根目录。  `app.js`  改成你的入口文件名字。  如果你的入口文件在其他目录,比如`src/index.js`,那就改成`"${workspaceFolder}/src/index.js"`。 *   `"console": "integratedTerminal"`:  指定控制台输出到VSCode的集成终端。 *   `"internalConsoleOptions": "neverOpen"`:  不要打开内部控制台。 *   `"env": { "NODE_ENV": "development" }`:  设置环境变量。  `NODE_ENV`  设置为`development`,方便你区分开发环境和生产环境。
  1. 设置断点: 在你想要调试的代码行号旁边,单击一下,就可以设置断点。 VSCode会在行号旁边显示一个红点。

    VSCode如何调试Node.js应用程序 VSCode调试Node.js的完整配置流程

  2. 启动调试: 按下F5键,或者点击VSCode左侧的调试图标(像一个播放按钮),就可以启动调试。

  3. 调试: 程序会在断点处停下来。 你可以使用VSCode提供的调试工具栏,进行单步调试、跳过、继续、重启等操作。 你也可以在VSCode的调试控制台中查看变量的值。

如何调试带参数的Node.js程序?

如果你的Node.js程序需要接收命令行参数,你需要在launch.json文件中添加args配置。 例如:

{   "version": "0.2.0",   "configurations": [     {       "type": "node",       "request": "launch",       "name": "Launch Program with Arguments",       "program": "${workspaceFolder}/app.js",       "args": ["--port", "3000", "--debug"],       "console": "integratedTerminal",       "internalConsoleOptions": "neverOpen",       "env": {         "NODE_ENV": "development"       }     }   ] }

“args”: [“–port”, “3000”, “–debug”]: 指定传递给程序的命令行参数。 –port 和 –debug 是参数名,3000 是 –port 参数的值。 根据你的程序需要,修改参数列表。

如何调试使用nodemon的Node.js程序?

如果你使用nodemon来自动重启Node.js程序,你需要修改launch.json文件,使用”request”: “attach”配置。 首先全局安装nodemon:

npm install -g nodemon

然后,修改launch.json:

{   "version": "0.2.0",   "configurations": [     {       "type": "node",       "request": "attach",       "name": "Attach to Process",       "processId": "${command:PickProcess}",       "restart": true,       "port": 9229     }   ] }
*   `"request": "attach"`:  指定附加到正在运行的进程。 *   `"processId": "${command:PickProcess}"`:  指定要附加的进程ID。  VSCode会在启动调试时,弹出一个列表,让你选择要附加的Node.js进程。 *   `"restart": true`:  如果nodemon重启了程序,VSCode会自动重新附加。 * `"port": 9229`: nodemon 默认的调试端口。

启动调试前,先用nodemon启动你的Node.js程序:

nodemon --inspect app.js

然后,在VSCode中按下F5,选择要附加的Node.js进程。

如何调试typescript编写的Node.js程序?

调试TypeScript编写的Node.js程序,需要先将TypeScript代码编译成JavaScript代码。 你可以使用tsc命令或者构建工具(比如webpack、rollup)来编译TypeScript代码。

然后,在launch.json文件中,指定编译后的JavaScript文件作为入口文件。 例如:

{   "version": "0.2.0",   "configurations": [     {       "type": "node",       "request": "launch",       "name": "Launch Program (TypeScript)",       "program": "${workspaceFolder}/dist/app.js",       "console": "integratedTerminal",       "internalConsoleOptions": "neverOpen",       "preLaunchTask": "tsc: build", // 编译 TypeScript       "sourceMaps": true,       "outFiles": [           "${workspaceFolder}/dist/**/*.js"       ]     }   ],   "compounds": [] }
  • “program”: “${workspaceFolder}/dist/app.js”: 指定编译后的JavaScript文件作为入口文件。 dist 是编译输出目录。
  • “preLaunchTask”: “tsc: build”: 在启动调试之前,先执行一个任务。 tsc: build 是任务的名称。 你需要在.vscode/tasks.json文件中定义这个任务。
  • “sourceMaps”: true: 启用 sourcemap,方便调试 TypeScript 源代码。
  • “outFiles”: [“${workspaceFolder}/dist/**/*.js”]: 指定输出文件位置,用于 sourcemap 查找。

在.vscode文件夹下创建tasks.json文件,并添加以下内容:

{     "version": "2.0.0",     "tasks": [         {             "type": "typescript",             "tsconfig": "tsconfig.json",             "problemMatcher": [                 "$tsc"             ],             "group": "build",             "label": "tsc: build"         }     ] }

确保你的tsconfig.json文件配置正确,指定了输出目录和sourcemap选项。 例如:

{   "compilerOptions": {     "target": "es6",     "module": "commonjs",     "outDir": "./dist",     "sourceMap": true,     "strict": true,     "esModuleInterop": true   },   "include": ["src/**/*"] }
  • “outDir”: “./dist”: 指定输出目录为./dist。
  • “sourceMap”: true: 生成sourcemap文件。

调试时遇到”Cannot connect to runtime process”错误怎么办?

这个错误通常是由于以下原因导致的:

  1. 端口冲突: 调试端口被其他程序占用。 你可以尝试修改launch.json文件中的”port”配置,使用一个未被占用的端口。

  2. 防火墙阻止连接: 防火墙阻止了VSCode和Node.js进程之间的连接。 你需要配置防火墙,允许VSCode和Node.js进程之间的通信。

  3. Node.js版本过低: 某些版本的Node.js可能不支持调试功能。 你可以尝试升级Node.js到最新版本。

  4. –inspect参数未启用: 使用nodemon调试时,如果启动命令中没有添加–inspect参数,也会导致无法连接。

  5. 错误的launch.json配置: 仔细检查launch.json文件,确保配置正确。 特别是”program”、”args”、”processId”等配置。

如何使用VSCode调试器查看和修改变量值?

在调试过程中,VSCode提供了强大的变量查看和修改功能。

  1. Variables面板: 在VSCode的调试侧边栏,有一个”Variables”面板,显示当前作用域内的所有变量及其值。你可以展开对象和数组,查看它们的属性和元素。

  2. Watch面板: 在VSCode的调试侧边栏,还有一个”Watch”面板,你可以添加表达式,VSCode会实时计算表达式的值。 这对于查看复杂的表达式或者特定属性的值非常有用。

  3. 调试控制台: 在VSCode的调试控制台中,你可以输入表达式,VSCode会计算表达式的值并显示出来。 你也可以使用调试控制台来修改变量的值。 例如,你可以输入a = 10来将变量a的值修改为10。

  4. 悬停提示: 在调试过程中,你可以将鼠标悬停在变量上,VSCode会显示变量的值。

掌握这些技巧,你就能像使用魔法一样,轻松调试Node.js应用程序,快速定位和解决问题。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享