WSL2中VSCode调试Angular15报错:无法启动浏览器'(void 0) is not a constructor'
解决WSL2中VSCode调试Angular15时的"(void 0) is not a constructor"报错
修正调试器类型与目标浏览器匹配
你的launch.json中type设为msedge但名称标注为chrome,这会导致调试器识别混乱。如果实际使用Chrome浏览器,将type改为chrome;如果使用Edge,保持type为msedge并修改名称为对应标识,避免混淆。指定Windows浏览器的WSL路径
WSL环境无法直接识别Windows的默认浏览器路径,需在launch.json中显式指定runtimeExecutable:
对于Edge:"runtimeExecutable": "/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"对于Chrome:
"runtimeExecutable": "/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"将上述配置添加到你的调试对象中,确保路径与浏览器实际安装位置一致。
更新调试插件
打开VSCode扩展面板,检查并更新Debugger for Microsoft Edge或Debugger for Chrome插件,旧版本可能与Angular15、VSCode 1.77存在兼容性问题。确保Angular服务已正常启动
先在WSL终端执行ng serve,等待控制台输出"Compiled successfully",确认http://localhost:4200能在浏览器正常访问后,再启动VSCode调试,避免服务未就绪引发的调试错误。补充调试兼容性配置
在launch.json的调试配置中添加以下参数,提升调试稳定性:"sourceMaps": true, "runtimeArgs": ["--remote-debugging-port=9222"]源码映射确保调试时能关联到Angular源码,指定调试端口可避免端口冲突。
内容的提问来源于stack exchange,提问作者Timy Shark
相关产品推荐
相关产品推荐

