node.js - Webstorm- Nodemon + Typescript + Docker - 调试器已连接但断点不起作用
问题描述
我有一个用打字稿编写的节点项目。该进程使用 Nodemon 在 docker 容器中运行。--inspect
节点(通过 nodemon)在带有选项的容器内运行。当我尝试将 Webstorm 连接到进程时,它会连接但没有遇到断点。
此命令用于package.json
启动:
tsc-watch --incremental --onFirstSuccess "sh -c 'tscpaths -p tsconfig.json -s ./src -o ./dist/src && nodemon -L --inspect=0.0.0.0:9229 dist/src/main.js --config nodemon-debug.json'" --onSuccess "sh -c 'tscpaths -p tsconfig.json -s ./src -o ./dist/src && touch ./dist/src/main.js
说明:使用 tsc-watch 来监视代码的变化。在第一次构建成功运行以替换路径快捷方式后,然后使用选项(传递给节点)tscpaths
运行 nodemon 。inspect
每次构建成功后运行tscpaths
并触摸main.js
文件以触发 nodemon 重新启动进程。
nodemon config(仅main.js
查看每次构建后触及的文件tsc-watch
):
{
"watch": [
"./dist/src/main.js"
],
"ext": "js"
}
docker 容器的 9229 端口被映射到主机上的 9666 端口docker-compose.yml
,在 Webstorm 中,我使用“附加到 Node.js/Chrome”配置来附加到 localhost 端口 9666。
该tsconfig.json
文件包括"sourceMap": true
.
每次代码更改时自动构建+重新启动的整个过程都有效。调试器附加在 Webstorm 中(调试器选项卡显示“已连接到 localhost:9666 - dist/src/main.js”)。问题是没有遇到断点。它们没有标有“V”,并且在执行过程中没有被击中。
有任何想法吗?
在 Windows 10 上使用 Webstorm 2021.1。
解决方案
您需要在调试器中设置一些东西。
看一下配置,有一个叫做Remote URLs of local files(optional)的东西。您需要为您的文件/目录指定 RemoteURL,以便它可以访问调试器。
推荐阅读
- api - 如何自动检测 sip/ip 电话的内部号码
- javascript - Zapier Cli - 如何设置计算输入字段的值?
- python - 使用熊猫字典替换数据框列中的关键字
- batch-file - 复制一个文件的内容并根据日期粘贴到另一个文本文件中
- sql-server - MS 报告生成器 IIF 问题
- javascript - jQuery 中可以用哪种方法 .context 替换?
- c - C 中的字符串解析 - 带有格式说明符的字符串
- angularjs - Angularjs ng-model - 将字符串转换为数字
- linux - 如何设置在 Docker 容器中运行的文件夹内存限制
- haskell - cabal 安装“gcc”在“C 编译器”阶段失败