如何在 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_modulesroot/my-project/node_modules 中。如何设置我的 VSCode 以便命中 root/my-project/node_modules 处代码中的断点?

在这里找到了解决方案:vscode debug code in node_modules directory

基本上,您必须创建一个指向库代码的符号链接,然后通过将其放入 launch.json:

来指示 VSCode 使用此符号链接
{
    "runtimeArgs": [
        "--preserve-symlinks"
    ]
}