Ben*_*Ben 8 source-maps typescript visual-studio-code npm-link vscode-debugger
我正在尝试调试 NodeJS 应用程序及其与npm link.
结构如下:
/root/package-a # typescript package
/root/package-b # another typescript package
/root/app # NodeJS application
Run Code Online (Sandbox Code Playgroud)
我已将包链接到应用程序,如下所示:
npm link每个包装内npm link package-a package-b 在应用程序中然后/root/app/.vscode/launch.json我有:
"runtimeArgs": ["--preserve-symlinks"],
"outFiles": [
"${workspaceFolder}/build/**/*.js",
"${workspaceFolder}/../package-a/build/**/*.js",
"${workspaceFolder}/../package-b/build/**/*.js",
]
Run Code Online (Sandbox Code Playgroud)
当使用 . 构建每个包和应用程序时,这一切都非常有效npm run tsc。同样在监视模式下,更改会正确地从包传播到应用程序。但是,当我尝试在任何包内的 VS Code 中设置断点时,调试器找不到相关的 TS 源。断点保持灰色:-(
另外:我已经设置了每个tsconfig.json文件,因此应用程序和包中的每个构建文件旁边"sourceMap": true都有文件。.js.map
如何正确设置,使包中的断点变成红色?
launch.json 不应同时具有runtimeArgs 和outFiles。它应该看起来像这样:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"sourceMaps": true,
"smartStep": true,
"name": "Launch event",
"program": "${workspaceFolder}/src/services/event/src/start.ts",
"outputCapture": "std",
"envFile": "${workspaceFolder}/src/services/event/.env"
}
Run Code Online (Sandbox Code Playgroud)
] }
要进行符号链接,您还可以(记录器):
最重要的是:您应该构建 npm(在示例中 - 记录器),构建后请确保转到服务(或根)的 node_modules 并查看您的更改是否已构建并且可以在 node_modules 中找到( symlike 应该处理它)
| 归档时间: |
|
| 查看次数: |
1208 次 |
| 最近记录: |