VS Code调试Node.js核心 打断点 → F5 → 单步执行 + 看变量
下面我用最常见、最实用的方式,带你一步步在 VS Code 调试 Node.js 代码(适合前端 / Node 开发日常用)。
一、最简单方式(推荐新手):直接调试当前 JS 文件
1️⃣ 准备一个 Node 文件
// index.js
function add(a, b) {
return a + b;
}
const result = add(2, 3);
console.log(result);
2️⃣ 在 VS Code 中打断点
-
打开
index.js -
在行号左侧 点一下(出现红点)
👉 这就是断点
3️⃣ 启动调试
两种方式任选:
-
右上角 ▶️ Run
-
或快捷键
-
macOS:
F5 -
Windows:
F5
-
👉 VS Code 会自动识别 Node.js,并启动调试
4️⃣ 常用调试操作
| 操作 | 按键 |
|---|---|
| 继续执行 | F5 |
| 单步跳过(Step Over) | F10 |
| 进入函数(Step Into) | F11 |
| 跳出函数(Step Out) | Shift + F11 |
| 停止 | Shift + F5 |
二、标准方式:使用 launch.json(真实项目必备)
1️⃣ 打开调试配置
-
左侧点 Run and Debug
-
点击 create a launch.json
-
选择 Node.js
2️⃣ 最常见配置(Node 项目)
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Node App",
"program": "${workspaceFolder}/index.js",
"cwd": "${workspaceFolder}",
"console": "integratedTerminal",
"skipFiles": ["<node_internals>/**"]
}
]
}
📌 说明:
-
program:入口文件 -
cwd:工作目录 -
skipFiles:跳过 Node 内部代码(很重要)
三、调试 npm scripts(非常常用)
package.json
{
"scripts": {
"dev": "node src/app.js"
}
}
对应的 launch.json
{
"type": "node",
"request": "launch",
"name": "Debug npm run dev",
"runtimeExecutable": "npm",
"runtimeArgs": ["run", "dev"],
"console": "integratedTerminal",
"skipFiles": ["<node_internals>/**"]
}
👉 调试真实项目 80% 都用这个
四、Attach 模式(调试已运行的 Node 进程)
1️⃣ 用 inspect 启动 Node
node --inspect index.js
或:
node --inspect-brk index.js
2️⃣ VS Code attach 配置
{
"type": "node",
"request": "attach",
"name": "Attach Node",
"port": 9229,
"skipFiles": ["<node_internals>/**"]
}
📌 适合:
-
服务已经在跑
-
Docker / 远程服务
-
线上问题复现
五、调试 Express / Koa(后端必会)
示例:Express
app.get('/test', (req, res) => {
debugger; // 也可以直接写
res.send('ok');
});
📌 访问接口时会自动断下
六、调试技巧(很重要)
✅ 1️⃣ debugger 关键字
debugger;
执行到这里 自动断点
✅ 2️⃣ 变量监控(Watch)
-
左侧 Watch
-
输入变量名或表达式
req.body
user.id
✅ 3️⃣ 条件断点
-
右键断点 → Add Conditional Breakpoint
id === 1001
✅ 4️⃣ 调试 TS(Node + TS)
关键点:
-
要有
sourceMap: true -
断点打在
.ts上
七、最常见问题排查
❌ 断点不生效
✔ 检查:
-
是否是编译后的代码(dist)
-
program是否正确 -
是否开启 source map
❌ 一直进 Node 内部源码
✔ 加上:
"skipFiles": ["<node_internals>/**"]
八、一句话总结(记这个就够)
VS Code 调试 Node.js 的核心就是:打断点 → F5 → 单步执行 + 看变量。

浙公网安备 33010602011771号