1、在不需要使用babel转义的情况下,在launch.json中配置如下即可:

1
2
3
4
5
6
7
8
9
10
{
"version": "0.2.0",
"configurations": [{
"type": "node",
"request": "launch",
"name": "debug",
"cwd": "${workspaceRoot}/src/server", // 调试的目录
],
}]
}

2、需要babel转义的情况下需要:

在package.json定义一个启动脚本,指定调试端口

1
2
3
4
5
6
{
....
"scripts":{
"debug": "node --inspect=9229 ./website.js",
}
}

launch.json配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"version": "0.2.0",
"configurations": [{
"type": "node",
"request": "launch",
"name": "debug",
"cwd": "${workspaceRoot}/src/server", // 调试的目录
"timeout": 40000,// 预编译时间有点长,超时时间默认是10000
"runtimeExecutable": "npm",// 启动文件,默认"node"
"runtimeArgs": [// 传递给运行时可执行文件的可选参数。
"run-script",
"debug"
],
"port": 9229 // 和package.json调试端口相同
}]
}

然后新增加一个website.js文件,用来加载babel

website.js:

1
2
3
4
// 加载babel预编译
require('babel-core/register');
require("babel-core").transform();
require('./src/server/index');

最后一个引入的是程序的启动文件./src/server/index。

上述步骤都完成之后启动调试即可。

如果要实现文件修改后自动重启需要更改package.json的启动脚本为:

1
"debug": "node_modules/.bin/nodemon --watch src --inspect=9229 ./website.js",

同时在launch.json中添加两个配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"type": "node",
"request": "launch",
"name": "debug",
"cwd": "${workspaceRoot}/src/server", // 调试的目录
"timeout": 40000,// 预编译时间有点长,超时时间默认是10000
"runtimeExecutable": "npm",// 启动文件,默认"node"
"runtimeArgs": [// 传递给运行时可执行文件的可选参数。
"run",
"debug"
],
"port": 9229, // 和package.json调试端口相同,
"restart": true,
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen"
}