VSCode调试符号链接TypeScript项目时依赖包TS断点未绑定问题
VSCode 关联symlink的TypeScript项目调试断点失效解决方案
核心问题修复
- 修正参数生效范围:
launch.json中runtimeArgs配置仅在launch启动进程模式下生效,attach附加到已运行进程的场景下不会注入参数。你需要将--preserve-symlinks、--preserve-symlinks-main两个参数添加到projectA的启动命令中,示例:node --inspect=9229 --preserve-symlinks --preserve-symlinks-main ./dist/入口文件.js - 更新
launch.json的attach配置,显式允许解析node_modules下projectB的sourcemap:{ "version": "0.2.0", "configurations": [ { "name": "Attach", "port": 9229, "request": "attach", "skipFiles": [ "<node_internals>/**" ], "type": "node", "sourceMaps": true, "resolveSourceMapLocations": [ "${workspaceFolder}/**", "!**/node_modules/**", "${workspaceFolder}/node_modules/projectB/**" ] }, ] }
补充校验步骤
- 检查两个项目的
tsconfig.json,除sourceMap: true外,建议开启inlineSources: true,同时确保projectB的sourceRoot配置正确:如果projectB编译后的dist目录与src目录平级,可将sourceRoot设为../src,保证sourcemap能正确映射到源TypeScript文件路径。 - 清理缓存重新编译:删除两个项目的dist目录后重新执行
tsc编译,再重启VSCode重新启动调试流程即可。
内容的提问来源于stack exchange,提问作者InfamousToast
相关产品推荐
相关产品推荐

