Ich verwende derzeit das folgende Skript, um meine nodejs-Anwendung zu starten. Ich lege danach den vscode Debugger es, das funktioniert:
"dev": "NODE_PATH=\"$(pwd)\" NODE_ENV=development nodemon -r babel-register -r babel-polyfill --nolazy --debug-brk=36598 ./src/index.js"
Ich mag würde jedoch die eingebaute „Start“ Option in vscode verwenden.
In der launch.json unter Konfigurationen unter einer Konfiguration gibt es ein Feld namens env. Ich möchte den NODE_PATH dort hinzufügen und seinen Wert auf das aktuelle Verzeichnis setzen.
{
"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
}
Das Problem hierbei ist, dass die Variable tatsächlich eingestellt wird er als Befehl „$ (PWD)“ statt laufen und die Ausgabe zu speichern.
Wenn ich habe folgendes in meinem Code:
console.log(process.env.NODE_PATH);
Es gibt die folgenden (anstelle des aktuellen Verzeichnispfad):
$(pwd) // <--- wrong, I was expecting '/home/karl/dev/my_project'
Ich versuchte "NODE_PATH=\"$(pwd)\"",
in den runtimeArgs und args Einstellung aber das funktioniert auch nicht.
Irgendwelche Ideen?