📅  最后修改于: 2023-12-03 14:48:22.447000             🧑  作者: Mango
在写 JavaScript 代码时,我们常常使用项目中的模块或依赖,这些模块和依赖可能分布在不同的文件夹中,而且可能存在嵌套的 node_modules
文件夹。在进行调试时,如果没有正确设置,可能会遇到这样的问题:VSCode 调试器会对 node_modules
中的文件进行单步调试,耗费我们大量的时间和精力,而这些文件对于我们实际调试应该是无关的。
本文将介绍如何在 VSCode 中调试 JavaScript 代码并忽略 node_modules
中的文件,让我们的调试过程更加高效。
node_modules
忽略 node_modules
可以采用两种方式:
在 VSCode 的设置中添加 "search.exclude": { "**/node_modules": true }
可以让 VSCode 在搜索和排除时忽略 node_modules
文件夹。但是,这种方式并不能直接忽略 node_modules
中的文件。如果你单步调试时遇到了 node_modules
中的文件,仍需要逐步跳过或添加断点。
用下列方式修改 VSCode 的启动配置,使得 VSCode 能够在启动时加快过滤 node_modules
。
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch via NPM",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--preserve-symlinks",
"${workspaceFolder}/node_modules/<your main file>"
],
"skipFiles": [ "${workspaceFolder}/node_modules/**/*.js", "<node_internals>/**/*.js" ]
}
]
}
在上述代码中,skipFiles
是用来跳过不需要调试的文件的,我们将所有 node_modules
下的 .js
文件都排除了。这表示当我们在调试我们的代码时,VSCode 将跳过 node_modules
目录中的所有 JavaScript 文件,不再让它们干扰我们的调试。我们通过修改 runtimeArgs
,来快速找到需要运行的文件。注意,运行时参数 --preserve-symlinks
是必需的。
至此,我们介绍了在 VSCode 中调试时如何忽略 node_modules
文件夹中的文件。通过下面这个启动配置,我们可以让 VSCode 在启动时根据设置跳过 node_modules
中的 JavaScript 文件,从而使得调试过程更加快捷、高效。
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch via NPM",
"type": "node",
"request": "launch",
"runtimeArgs": [
"--preserve-symlinks",
"${workspaceFolder}/node_modules/<your main file>"
],
"skipFiles": [ "${workspaceFolder}/node_modules/**/*.js", "<node_internals>/**/*.js" ]
}
]
}