假设项目的 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/