【问题标题】:How to debug an NPM library package in VSCode?如何在 VSCode 中调试 NPM 库包?
【发布时间】:2021-08-08 16:39:34
【问题描述】:

我在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 的断点?

【问题讨论】:

  • 如果你想调试这个库,也许只是临时调整package.json中的main属性指向src(或等效)而不是dist/build
  • 我说的项目代码是一个 ExpressJS 项目,它有路由器和控制器,库代码只有数据模型、实用程序和服务方法。我想调试通过服务调用的库方法。在这种情况下,更改 package.json 中的 main 是否有效?
  • 不幸的是,没有针对库代码的测试,否则我会使用这些测试对其进行调试。

标签: javascript node.js typescript visual-studio-code redis


【解决方案1】:

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

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

{
    "runtimeArgs": [
        "--preserve-symlinks"
    ]
}

【讨论】:

    猜你喜欢
    • 2023-02-18
    • 2021-02-26
    • 2022-01-02
    • 2019-05-01
    • 2020-07-25
    • 2018-04-14
    • 2020-03-09
    • 2023-03-24
    • 2021-08-03
    相关资源
    最近更新 更多