gpt4 book ai didi

node.js - node_modules目录下的vscode调试代码

转载 作者:IT老高 更新时间:2023-10-28 23:21:36 71 4
gpt4 key购买 nike

我有一个 node_js 项目,其中包含我们自己的一些 node_js 包。它们位于 npm 私有(private)仓库中,并在 node_modules 中显示为:

@company/package_name

我们正在尝试在这段代码中设置断点并发现它们永远不会被命中。

我们认为可能会有一个默认的 skipFile 排除 node_modules 并添加到我们的 launch.json:

"skipFiles": ["!${workspaceRoot}/node_modules/**/*.js"]

没有效果。

关于如何在 node_modules 目录中启用调试的任何提示?

最佳答案

我知道这是一个老问题,但如果有人仍然设法偶然发现这个问题,您可以使用 VS 代码调试 node_module 文件,方法是首先将 node_module 包与主项目进行符号链接(symbolic link),然后告诉 VS 代码使用符号链接(symbolic link)。

符号链接(symbolic link) node_module 包

如果您要在 node_module 包中工作,最好对它进行符号链接(symbolic link),这样您在项目中所做的更改也会同时应用于模块的代码,因此,当您完成编辑时包,您可以直接查看差异并提交它,而不是从 node_module 内部复制粘贴并手动应用它。

  1. 要将 node_module 中的包与您的项目进行符号链接(symbolic link),请首先在您的系统上克隆 repo。
  2. 在目录中运行 npm link
  3. 然后转到你的主项目,然后运行 ​​npm link package_name 来链接它。

例如,如果您想将包 sample-node-module 与项目 sample-project 链接,该项目使用 sample-node-module 作为它的依赖,你可以通过以下方式来做:

cd sample-node-module
npm link
cd sample-project
npm link sample-node-module

请注意在第二个 link 命令中输入克隆存储库的文件夹名称(而不是包名称本身)。您不必提供完整路径。您可以阅读更多信息 here

告诉 VS Code 在调试时使用符号链接(symbolic link)

完成上述操作后,您只需在 VS Code 的 launch.json 中添加这个小配置,即可检测 node_modules 中的断点:

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

可以在 here 找到有关此的文档

关于node.js - node_modules目录下的vscode调试代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47021083/

71 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com