Webstorm- Nodemon + Typescript + Docker - 调试器已连接但断点不起作用
Posted
技术标签:
【中文标题】Webstorm- Nodemon + Typescript + Docker - 调试器已连接但断点不起作用【英文标题】:Webstorm- Nodemon + Typescript + Docker - debugger connected but breakpoints not working 【发布时间】:2021-10-10 15:22:58 【问题描述】:我有一个用打字稿编写的节点项目。该进程使用 Nodemon 在 docker 容器中运行。节点(通过 nodemon)使用 --inspect
选项在容器内运行。
当我尝试将 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
替换路径快捷方式,然后使用inspect
选项(传递给节点)运行nodemon。
每次构建成功后运行tscpaths
并触摸main.js
文件以触发nodemon重新启动进程。
nodemon 配置(仅查看main.js
每次构建后由tsc-watch
触及的文件):
"watch": [
"./dist/src/main.js"
],
"ext": "js"
docker 容器的 9229 端口映射到 docker-compose.yml
中主机上的端口 9666,在 Webstorm 中我使用“附加到 Node.js/Chrome”配置附加到 localhost 端口 9666。
tsconfig.json
文件包括 "sourceMap": true
。
每次代码更改时自动构建 + 重新启动的整个过程都有效。 调试器附加在 Webstorm 中(调试器选项卡显示“已连接到 localhost:9666 - dist/src/main.js”)。 问题是没有遇到断点。它们没有用“V”标记,并且在执行过程中没有被击中。
有什么想法吗?
在 Windows 10 上使用 Webstorm 2021.1。
【问题讨论】:
【参考方案1】:你需要在调试器中设置一些东西。
看一下配置,有一个叫做本地文件的远程URL(可选)。您需要为您的文件/目录指定 RemoteURL,以便它可以访问调试器。
sample config
【讨论】:
以上是关于Webstorm- Nodemon + Typescript + Docker - 调试器已连接但断点不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 nodemon 或 supervisor 仅重新加载文件而不重新启动所有服务器 - WebStorm
你如何在 Webstorm 中设置文件观察器来重启 Node.js?
webstorm :file types文件类型关联错误 导致文件打开方式不对 修改文件关联设置/文件类型无法正确识别
nodemon 无法使用 express v4 启动 nodejs 应用程序