我在调试我的Angular应用程序时遇到问题。应用程序本身在Docker镜像中运行。我为源文件创建了一个挂载,这样我就可以依靠ng重新编译更改。一切都很好,但调试有点不可靠。
当我在我的源代码中放置一个断点(例如app init),并使用vscode启动Firefox时
"configurations": [
{
"name": "Launch firefox",
"type": "firefox",
"profileDir": "/home/bp/snap/firefox/common/.cache/mozilla/firefox/c90bexwg.default-release",
"keepProfileChanges": true,
"request": "launch",
"url": "http://localhost:4200/",
"tmpDir": "./webapp/.firefox-temp",
"pathMappings": [
{
"url": "webpack:///src",
"path": "${workspaceFolder}/webapp/src"
},
{
"url": "webpack:///node_modules",
"path": "${workspaceFolder}/webapp/node_modules"
},
{
"url": "webpack:///webpack",
"path": "${workspaceFolder}/webapp/webpack"
}
]
},
字符串
断点将不会命中。当我刷新页面几次,同样的故事,断点不会命中。
但是,当我在浏览器中打开调试器(firefox为f12)并在同一文件中添加断点时,该断点将命中。神奇的是,在firefox浏览器中遇到一个断点后,我在vscode中的断点也能正常工作。
我试着谷歌一下,但一无所获。
有没有人认识到这种行为,并有一个线索是什么导致这一点,如果它的固定?
1条答案
按热度按时间z6psavjg1#
解决方案是不要使用Docker开发应用程序,而是在构建用于生产的应用程序后执行此Docker步骤。直接在计算机上开发,使用
ng serve --o
并在浏览器上添加断点。