在 vscode 调试器中使用 NODE_PATH

Posted

技术标签:

【中文标题】在 vscode 调试器中使用 NODE_PATH【英文标题】:Using NODE_PATH in vscode debugger 【发布时间】:2021-03-15 16:54:35 【问题描述】:

我想自动重启我的 nodeJs 调试器,所以我必须使用 Nodemon。

我的 package.json 脚本:

"scripts": 
    "dev": "NODE_PATH=src env-cmd -f ./src/config/env/development.env nodemon ./src/app.js",
    "test": "NODE_PATH=src env-cmd -f ./src/config/env/test.env jest"

这是 launch.json 文件:


    "version": "0.2.0",
    "configurations": [
        
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "$workspaceFolder/src/app.js",
            "restart": true,
            "runtimeExecutable": "nodemon"
        
    ]

现在运行调试器后出现以下错误:

未捕获的错误:找不到模块“配置/缓存”

我想我应该告诉launch.json 配置使用NODE_PATH=src,就像我在package.json 文件中所做的那样。我不确定是不是这样。

【问题讨论】:

我无法重现该问题。我创建了一个小型 nodejs 应用程序,并复制了您的 launch.json。我唯一的区别是"runtimeExecutable": "$workspaceFolder\\node_modules\\.bin\\nodemon" 【参考方案1】:

可能是因为您已将 NODE_PATH 设置为 src 文件夹。尝试将其设置为存储 node_modules 文件夹的目录。

尝试以下任一方法:

NODE_PATH=$NODE_PATH
NODE_PATH=./node_modules

【讨论】:

但我希望基本路径从src 文件夹开始,如果我进行此更改,我应该更改我项目中的所有require 语句路径。

以上是关于在 vscode 调试器中使用 NODE_PATH的主要内容,如果未能解决你的问题,请参考以下文章

在vscode中使用gdb调试

在 vscode 中 debugger 调试

在 vscode 中使用调试器时按 ctrl+c 传递 SIGINT

如何使用vscode断点调试laravel

在 VScode 调试器中更改烧瓶运行端口

使用 VSCode 在 Docker 容器中调试 Typescript 文件