我目前正在使用以下脚本来启动我的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
}
这里的问题是变量实际设置为&#34; $(pwd)&#34;而不是将其作为命令运行并保存输出。
当我的代码中包含以下内容时:
console.log(process.env.NODE_PATH);
它输出以下内容(而不是当前目录路径):
$(pwd) // <--- wrong, I was expecting '/home/karl/dev/my_project'
我尝试在runtimeArgs和args中设置"NODE_PATH=\"$(pwd)\"",
,但这也不起作用。
有什么想法吗?
答案 0 :(得分:1)
{
"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" } } ] }
这解决了我的问题。
答案 1 :(得分:0)
答案 2 :(得分:0)
您还可以尝试“ runtimeExecutable”:“您的/路径/到/ bin /节点”