如何调试应用程序并使用 nodemon 测试手表

Posted

技术标签:

【中文标题】如何调试应用程序并使用 nodemon 测试手表【英文标题】:How to debug application and also test watch with nodemon 【发布时间】:2020-12-08 09:02:41 【问题描述】:

我正在开发一个使用docker-compose 执行的 NestJS 项目。在docker-compose 运行的众多容器中,有一个容器使用 nodemon 运行应用程序(允许我在必要时对其进行调试),另一个容器在检测到代码更改时执行单元测试。

有没有办法执行应用程序并对同一容器上的代码更改运行单元测试?这是好习惯吗?这将使我的机器执行得更快,因为整套容器的资源非常繁重,并且只有一个容器来运行应用程序并即时运行单元测试将让我删除仅用于单元测试的容器。

nodemon 配置文件是这样的:


  "watch": ["src"],
  "ext": "ts,json",
  "ignore": ["src/**/*.spec.ts"],
  "exec": "nest build && node --inspect=0.0.0.0 ./dist/main.js"

第二个容器中的单元测试使用jest --watch 执行。

【问题讨论】:

【参考方案1】:

我正在使用一个容器来运行应用程序和执行测试。我看没有问题。因为我使用sqlite3 进行e2e 测试,所以我的Dockerfile 看起来像这样:

FROM node:12.18.1

RUN apt-get update \
    && apt-get install sqlite3 \

同样在docker-compose.yml 我对这个节点容器的命令是:

command: npm run start:debug-remote

因为为什么不呢。这个 npm 命令是:

"start:debug-remote": "nest start --debug 0.0.0.0:9229 --watch"

为了让调试器工作,您必须在docker-compose.yml(或Dockerfile)中公开此端口(9229)并在.vscode/launch.json配置中设置它。

【讨论】:

你的start:debug-remote 脚本是做什么的?

以上是关于如何调试应用程序并使用 nodemon 测试手表的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VSCode 中调试 nodemon 项目

PhpStorm nodemon 调试 - 不要停在断点上

Loopback 4 调试器 nodemon 解决方案

如何在调试模式下运行 gulp-nodemon?

儿童手表不能下载如解决不能adb

小天才电话手表z5的系统既然基于android,那么如何开启adb调试或者如何进入recvory呢