繁体   English   中英

在vscode中进行调试时如何将NODE_PATH设置为$ {pwd)

[英]How to set NODE_PATH to $(pwd) when debugging in vscode

我当前正在使用以下脚本启动我的nodejs应用程序。 之后,我将vscode调试器附加到它,这可以正常工作:

"dev": "NODE_PATH=\"$(pwd)\" NODE_ENV=development nodemon -r babel-register -r babel-polyfill --nolazy --debug-brk=36598 ./src/index.js"

但是我想在vscode中使用内置的“启动”选项。

在配置下配置下的launch.json中,有一个名为env的字段。 我想在此处添加NODE_PATH并将其值设置为当前目录。

{
    "name": "Launch",
    "type": "node",
    "request": "launch",
    "program": "${workspaceRoot}/src/index.js",
    "stopOnEntry": false,
    "args": [],
    "cwd": "${workspaceRoot}",
    "preLaunchTask": null,
    "runtimeExecutable": null,
    "runtimeArgs": [
        "-r",
        "babel-register",
        "-r",
        "babel-polyfill",
        "--nolazy"
    ],
    "env": {
        "NODE_ENV": "development",
        "NODE_PATH": "$(pwd)" // <--- here
    },
    "console": "internalConsole",
    "sourceMaps": false,
    "outDir": null
}

这里的问题是该变量实际上设置为“ $(pwd)”,而不是将其作为命令运行并保存输出。

当我的代码中包含以下内容时:

console.log(process.env.NODE_PATH);

它输出以下内容(而不是当前目录路径):

$(pwd) // <--- wrong, I was expecting '/home/karl/dev/my_project'

我尝试在runtimeArgs和args中设置"NODE_PATH=\\"$(pwd)\\"",但这也不起作用。

有任何想法吗?

{

 "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "program": "/Path_to_start_file/main.js", "env":{ "NODE_PATH": "/Path_to_node_modules/node_modules" } } ] } 

这为我解决了问题。

您可以使用${cwd} -启动时任务运行程序的当前工作目录,如VS代码变量替换中所指定

所以你的情况

"NODE_PATH": "${cwd}"

您也可以尝试“ runtimeExecutable”:“您的/路径/到/ bin /节点”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM