VSCode Node.js 调试配置 (npm 脚本启动)

JavaScript015

VSCode Node.js 调试配置 (npm 脚本启动),第1张

相当于直接使用 node 命令,用 npm run script 脚本 来启动 Node.js 程序是更为常见的场景,比如当目标是运行一个应用。

假设项目的 package.json 有一个用来调试的 debug 脚本:

我们要怎么启动项目的跟踪调试呢?

文档指路 ➡️ 【Node.js 调试入门】 、 【VSCode 中的 Node.js 调试】 、 【Launch 对 npm 及其他工具的配置支持】

VS Code 支持两种核心调试模式 Launch 和 Attach ,Launch 方式是直接以 debug 模式启动应用,并为我们自动添加一个调试器;而 Attach 方式则是将 VSCode 调试器连接到已经运行中的应用程序或进程。我们这里用的是 Launch 方式。

在终端运行:

或点击VSCode 的小甲虫图标:

上面蓝色位置圈错了,应该是第一个 Node.js。

VSCode 十分智能,预设了很多针对不同需求的启动配置:

让我们来做进一步的修改:

之前那个启动配置项可以删除,留下这个需要的即可。

我们将 console 属性 设置为外部终端,我们启动调试时 VScode 就会自动打开下图中对应的终端(根据操作系统)。可以根据个人使用习惯,自定义用什么终端 (比如我在 VSCode 设置的 Terminal › External: Osx Exec,从默认的改为了 iTerm2)。

别忘了先把我们的脚本加上端口

首先在项目根目录下添加Dockerfile文件(这里我选用的是简单地nestjs作为例子)

在项目根目录下添加docker-compose.yml

在项目根目录下添加nodemon-docker-debug.json

在package.json中加入docker运行命定及nodejs debug命定

1.首先运行yarn docker(npm run docker)来构建及运行docker 容器

1.项目根目录下新建.vscode文件夹,在.vscode文件夹下添加launch.json

*注意这里的port一定要与你docker-compose.yml设置的debug port保持一致

运行vscode调试工具,如果能够成功连接到docker中的程序,可以在container logs 中看到连接成功的log

接下来尝试断点调试

原文链接 http://watsonzuo.com/2019/05/22/docker-nodejs-debug/