调试对于任何一门语言都是及其重要的。好的调试工具能让人更有效率的开发以及查错。Node没有chrome developer tool这样的Web可视化集成调试工具,但VSCode默认集成了TS、Git、Debug等实用工具,而且使用非常方便。VSCode的插件生态,也让VSCode变成前端开发必备的利器。以下介绍VSCode下的Node调试。
配置文件lanuch.json
。Node内容如下:{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/node/http.js" // 调试路径入口,需要根据自己项目进行配置
}
]
}
lanuch.json配置项较多,可查看官方文档 (opens new window)详细了解。VSCode也集成了一些常用的调试配置片段,有Node、Chrome、Electron、Gulp等。以下说明几个重要参数:
name
: 给该配置项取个名字type
: 通常有node、chrome等参数request
: launch/attach
program
: debug node入口文件的绝对路径。只在launch模式有效runtimeExecutable
: 执行器的绝对路径,默认是node。只在launch模式有效runtimeArgs
: 执行器参数。只在launch模式有效以上Node调试方式有个问题,每次文件入口修改都需要改动lanuch.json配置文件。我们的方法是可以使用让npm script充当入口,让改动变成在package.json中。
以上需要改造两步:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch via NPM",
"runtimeExecutable": "npm", // npm 执行器。使用npm script方式作为入口
"runtimeArgs": [
"run-script",
"start:debug"
],
"port": 5858 // 调试的端口指定,attach时用到
}
]
}
{
// 注意:需要配置上--inspect-brk=5858以attach到debugger
"start:debug": "nodemon --inspect-brk=5858 node/http.js"
}