Ich wollte nur wissen, ob es eine Möglichkeit gibt, einfach Umgebungsvariablen lesen, die ich gesetzt habe mit SET in cmd. Ich habe gelesen über process.env. [ENVVAR], aber wenn ich console.log die Variable, die ich in cmd gesetzt habe, zeigt es undefined. Auf anderen Threads habe ich gelesen, dass es gar nicht möglich ist, auf Windows env zuzugreifen. Variablen. Also was ist eigentlich richtig?NodeJS - Get Umgebungsvariablen mit cmd gesetzt
Antwort
Ich werde meine Kommentare in eine Antwort zusammenfassen.
Wenn Sie node.js aus einem cmd-Fenster starten, wird eine Kopie der aktuellen Benutzerumgebung nur für diesen node.js-Prozess erstellt. Auf diese Umgebung kann über process.env
zugegriffen werden.
Diese Umgebung wird von keinem externen Agenten geändert. Sobald der Prozess node.js gestartet wurde, gehört seine Umgebung eindeutig zum Prozess node.js.
Durch Änderungen an der Windows-Standardumgebung über Windows Control Panel > System > Advanced System Settings > Advanced > Environment Variables
wird beeinflusst, welche Variablen/Werte in neu erstellten Umgebungen festgelegt werden (z. B. neu erstellte cmd-Fenster). Es hat keine Auswirkungen auf derzeit geöffnete oder laufende Umgebungen.
Mit process.env
können Sie alle vorhandenen Umgebungsvariablen in Ihrer eigenen Umgebung lesen. Sie können das Objekt process.env
direkt ändern (Ändern von Werten, Entfernen von Eigenschaften usw.), und diese Änderungen werden von jedem anderen Code in Ihrem Prozess angezeigt, der auf process.env
zugreift. Änderungen an einer Umgebung in einem anderen Cmd-Fenster wirken sich jedoch nicht auf die Umgebung in einem laufenden node.js-Programm aus.
- 1. Umgebungsvariablen in CMD verwenden
- 2. NodeJS Umgebungsvariablen in Grunt
- 3. Umgebungsvariablen in cmd, aber nicht in .bat gespeichert
- 4. Wie Speicherlimit auf NodeJS gesetzt mit immer
- 5. CMD For-Schleife nicht gilt gesetzt/Wert
- 6. NodeJS: Fehler mit mehreren GET-Anfragen
- 7. NodeJS GET Anfrage funktioniert nicht mit AngularJS
- 8. Nodejs: get Dateiname der Anruferfunktion
- 9. NodeJS, GET Express POST params
- 10. Objektwerte von Array Get - NodeJS
- 11. NodeJS - Kann nicht Header gesetzt, nachdem sie
- 12. Get folder ohne Pfad mit dir in cmd
- 13. Openshift: Datenbank-Umgebungsvariablen sind in PHP nicht gesetzt
- 14. Umgebungsvariablen mit Zeilenumbrüchen in Node?
- 15. Gibt es Umgebungsvariablen, die immer zuverlässig gesetzt sind?
- 16. cmd Batch-Datei für/f schließt, comspec ist bereits gesetzt
- 17. Serverspec mit Umgebungsvariablen in Rakefile
- 18. NodeJS w/Express Fehler: Kann nicht GET/
- 19. NodeJS exec funktioniert nicht für "cd" Shell cmd
- 20. Wie zu MySQL-Eingabeaufforderung mit Cmd ohne Umgebungsvariablen oder ohne Navigieren MySQL-Dienstordner in Windows
- 21. Get/Blick Memory & CPU-Auslastung über NodeJS
- 22. Nodejs nicht GET/Helloworld in einfache Anwendung
- 23. NodeJS Consume Oauth Get API Anruf
- 24. nginx NodeJS + PM2 connot Rückkehr GET/PM2
- 25. Parse Körper von GET-Anfrage mit Nodejs, Express, Body-Parser?
- 26. Nodejs: Machen Sie eine GET-Anfrage mit Benutzern Parameter
- 27. Abrufen von Facebook Benutzerinformationen aus einer Get-Anfrage mit NodeJS
- 28. Legen Sie Windows-Umgebungsvariablen mit in Batchdatei
- 29. Pufferüberlauf mit Umgebungsvariablen
- 30. Umgebungsvariablen mit AWS CodeDeploy
Sie versuchen, Zugriff auf Umgebungsvariablen zu erhalten, die in der Windows-Cmd-Umgebung festgelegt wurden, BEVOR Sie node.js in diesem bestimmten Cmd-Shell-Fenster ausgeführt haben? Oder Umgebungsvariablen, die mit cmd innerhalb von node.js gesetzt wurden? Bitte erweitern Sie, was genau Sie vorhaben. Denken Sie daran, dass es viele verschiedene Umgebungen gibt. Wir müssen wissen, über welche Sie sprechen und welche die gewünschte Variable ist. – jfriend00
Ich habe SET ENVNAME = VALUE in Windows cmd verwendet (und ich habe eine Systemumgebungsvariable in Windows gesetzt). Es enthält einen Pfad zu meiner Datenbank und möchte es jetzt in meiner Anwendung (Typoskript) lesen. Ich weiß sehr wenig darüber, also bin ich mir nicht sicher, ob das deine Fragen beantwortet. – Faigjaz
Jedes cmd-Fenster ist eine separate Umgebung. Wenn Sie also eine Umgebungsvariable auf eins setzen, wirkt sich dies nicht auf ein anderes cmd-Fenster aus. Sie können jedoch eine Umgebungsvariable in einem cmd-Fenster setzen und DANN starten Sie in diesem Fenster Ihre node.js-Anwendung, die dann diese Umgebungsvariable lesen kann. – jfriend00