作者:Moorez
链接:https://juejin.cn/post/6844903750142787591
来源:稀土掘金
编写launch.json
{
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "启动程序",
"program": "${workspaceFolder}/app.js"
}
]
}
在launch.json中会使用到一些预定变量,这里说明一下:
- ${workspaceRoot}:VSCode中打开文件夹的路径
- ${workspaceRootFolderName}:VSCode中打开文件夹的路径, 但不包含”/“
- ${file}:当前打开的文件
- ${fileBasename}: 当前打开文件的文件名, 不含扩展名
- ${fileDirname}: 当前打开文件的目录名
- ${fileExtname} 当前打开文件的扩展名
- ${cwd}:当前执行目录
当我们在单步调试程序的时候,会进入node_modules里面,通常情况下我们并不需要去关心里面的逻辑实现,只关心项目本身的代码。在这个时候,我们就需要使用skipFiles
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [{
"type": "node",
"request": "launch",
"name": "启动程序",
"program": "${workspaceFolder}/server/app.js",
"runtimeExecutable": "nodemon", // 或者 node-dev
"restart": true,
"console": "integratedTerminal",
"skipFiles": [
"${workspaceRoot}/node_modules/**/*.js",
"<node_internals>/**/*.js"
]
}]
}
这里新增了三个字段,分别是:
- runtimeExecutable:用什么命令执行 app.js,这里设置为 nodemon,默认是 node
- restart:在终止 Node.js 后重启会话
- console:启动调试目标的位置,这里选择在 vscode 的集成终端输出信息