如何在 VSCode 中调试 NPM 库包?
How to debug an NPM library package in VSCode?
我在 Typescript
中创建了一个库,并将在其他 NodeJS
项目中使用它。我已将源代码包含在 NPM
包中,因此当我将它安装到我使用该包的项目中时,我也会在 node_modules
文件夹中获得源代码。
现在,在调试我的项目时,我希望能够在 node_modules
中的库代码中设置断点。我该怎么做?
假设我在 root/my-project
有一个我正在尝试调试的项目,并且这个项目正在使用一个名为 @my-org/common
的 NPM 包,它位于 root/my-org-common
。由于此库是使用 NPM 安装在 my-project
中的,因此 @my-org/common
的代码也包含在 node_modules
的 root/my-project/node_modules
中。如何设置我的 VSCode 以便命中 root/my-project/node_modules
处代码中的断点?
在这里找到了解决方案:vscode debug code in node_modules directory
基本上,您必须创建一个指向库代码的符号链接,然后通过将其放入 launch.json
:
来指示 VSCode 使用此符号链接
{
"runtimeArgs": [
"--preserve-symlinks"
]
}
我在 Typescript
中创建了一个库,并将在其他 NodeJS
项目中使用它。我已将源代码包含在 NPM
包中,因此当我将它安装到我使用该包的项目中时,我也会在 node_modules
文件夹中获得源代码。
现在,在调试我的项目时,我希望能够在 node_modules
中的库代码中设置断点。我该怎么做?
假设我在 root/my-project
有一个我正在尝试调试的项目,并且这个项目正在使用一个名为 @my-org/common
的 NPM 包,它位于 root/my-org-common
。由于此库是使用 NPM 安装在 my-project
中的,因此 @my-org/common
的代码也包含在 node_modules
的 root/my-project/node_modules
中。如何设置我的 VSCode 以便命中 root/my-project/node_modules
处代码中的断点?
在这里找到了解决方案:vscode debug code in node_modules directory
基本上,您必须创建一个指向库代码的符号链接,然后通过将其放入 launch.json
:
{
"runtimeArgs": [
"--preserve-symlinks"
]
}