# vscode 调试node
# Auto Attach
Auto Attach 有 三种调试模式 ,可以按住 command ,
调出用户设置并搜索debug.javascript.autoAttachFilter
修改调试模式
- smart 默认
- always
- onlyWithFlag
# 第一种 smart
默认使用这种模式。
直接在需要调试的代码右侧打上断点, 打开控制台执行 node test.js
。就会进入调试模式
# 第二种 always
打开控制台就会打开调试
# 第三种 onlyWithFlag
调试的时候需要加上 --inspect参数,比如 node test.js --inspect
,才能进入调试模式
# 常见方案的配置
- Launch Program: 在调试模式下启动Node.js程序
- Launch via npm: 通过
npm debug
脚本启动Node.js程序。如果在package.json中定义了npm debug
脚本,则可以直接在启动配置中使用它。 - Attach: 附加到本地运行的Node.js程序的调试端口.确保已在调试模式下启动要调试的Node.js程序,并且所使用的调试端口与代码段中指定的端口相同。
# 启动对“ npm”和其他工具的配置支持
如果package.json 文件指定了 "debug": "node test.js"
,则不需要再launch.json中指定program
属性。举例如下
//package.json
"scripts": {
"debug": "node myProgram.js"
},
// launch.json则如下
{
"name": "Launch via npm",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder}",
"runtimeExecutable": "npm",
"runtimeArgs": ["run-script", "debug"]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 支持从外部文件加载环境变量
launch.json配置如下
"envFile": "${workspaceFolder}/.env",
"env": { "USER": "john doe" }
1
2
2
.env如下
USER=doe
PASSWORD=abc123
# a comment
# an empty value:
empty=
# new lines expanded in quoted strings:
lines="foo\nbar"
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 文档
← Node模块加载规则 koa 洋葱模型 →