Wie führe ich eine hello.js-Datei in Node.js unter Windows aus?

313

Ich versuche, ein in Javascript geschriebenes Hallo-Welt-Programm in einer separaten Datei mit dem Namen hello.js auszuführen

Derzeit wird die Windows-Version von node.js ausgeführt.

Der Code läuft perfekt im Konsolenfenster, aber wie verweise ich auf den Pfad in der Windows-Umgebung ?

C:\abc\zyx\hello.js

Unter Unix wird vermutlich $ node hello.js angezeigt

Ich bin absolut neu bei Node.js. Bitte korrigieren Sie mich, wenn ich etwas falsch mache.

Ich habe es versucht

> node C:\abc\zyx\hello.js ---- hat nicht funktioniert

> C:\abc\zyx\hello.js - hat nicht funktioniert

UPDATE1:

Node.exe wurde zu dem Ordner hinzugefügt, in dem sich die Datei hello.js befindet.
Pfadpunkt zum Ordner c: \ abc \ zyx \ hinzugefügt, und ich erhalte eine Fehlermeldung

ReferenceError: Hallo ist nicht definiert

siehe Inhalt von hello.js

setTimeout(function() {
console.log('World!');
}, 2000);
console.log('Hello');

UPDATE 2:

Bisher habe ich alle diese Versionen ausprobiert und keine davon scheint zu funktionieren . Vielleicht mache ich etwas völlig falsch.

>node hello.js
>$ node hello.js
>node.exe hello.js
>node /hello.js
>node \hello.js
> \node \hello.js
> /node /hello.js
> C:\abc\xyz\node.exe C:\abc\xyz\hello.js
> C:\abc\xyz\node.exe C:/abc/xyz/hello.js
> hello.js
> /hello.js
> \hello.js
>node hello

Siehe meine Dateistruktur

.
├── hello.js
├── node.exe
└── paths.txt

BEHOBEN: Anstatt node.exe auszuführen, versuchen Sie, die Eingabeaufforderung mit der folgenden Option auszuführen, und es hat funktioniert.

c:\>node c:\abc\hello.js
Hello
World! (after 2 secs)
Mitul
quelle
1
Könnten Sie etwas mehr Informationen geben? Soweit ich weiß, gibt es keinen offiziellen Knoten für Windows, da die Ankündigung, dass der Port gestartet wurde, erst vor wenigen Wochen erfolgte . Verwenden Sie node.js unter Cygwin oder gibt es andere Knotenfenster (falls vorhanden, habe ich noch nichts davon gehört). EDIT: Ich wusste nicht, dass ein Preview-Build verfügbar ist. Entschuldigen Sie.
Doug Stephen
6
Versuchen Sie node hello.jsstatt node hello;)
Raynos
1
Ich weiß nicht, was c:> ist, aber von der Eingabeaufforderung, wie Sie sagten, "Knoten c: \ Benutzer \ me \ desktop \ helloworld.js" hat für mich funktioniert.
user1873073
2
Ich hatte die gleichen Probleme wie Sie, es ist lustig, denn bis heute 2016 habe ich Dutzende von Tutorials gefunden, die versucht haben, NodeJS zu lehren, aber keine von ihnen lehrt Schritt für Schritt, wie man den Basisbefehl außer '$ node filename.js' ausführt. Ich kann nicht verstehen, wie jeder davon ausgeht, dass wir dafür den Stammordner verwenden müssen. Wer verwendet das Festplattenstammverzeichnis zum Hosten von Dateien?
Diego Mendes

Antworten:

363

Hier sind die genauen Schritte, die ich gerade unternommen habe, um das Beispiel "Hello World" unter http://nodejs.org/ auszuführen . Dies ist ein schnelles und schmutziges Beispiel. Für eine permanente Installation möchten Sie die ausführbare Datei an einem vernünftigeren Ort als das Stammverzeichnis speichern und Ihre Datei so aktualisieren PATH, dass sie ihren Speicherort enthält.

  1. Laden Sie die ausführbare Windows-Datei hier herunter: http://nodejs.org/#download
  2. Kopieren Sie die Datei nach C: \
  3. Erstellen Sie C: \ hello.js
  4. Fügen Sie den folgenden Inhalt ein:
    var http = require('http');
    http.createServer(function (req, res) {
      res.writeHead(200, {'Content-Type': 'text/plain'});
      res.end('Hello World\n');
    }).listen(1337, "127.0.0.1");
    console.log('Server running at http://127.0.0.1:1337/');
  1. Speicher die Datei
  2. Start -> Ausführen ... -> cmd
  3. c:
  4. C:> Knoten hello.js

    Server running at http://127.0.0.1:1337/

Das ist es. Dies wurde unter Windows XP durchgeführt.

Wayne
quelle
10
Klappt wunderbar!!! Vielen Dank. Der Trick besteht darin, cmd anstelle der Eingabeaufforderung node.exe zu öffnen.
Mitul
1
@Mitul - Richtig, dies ist das Detail, das in Ihrer Beschreibung fehlte - dh wie Sie den Knoten gestartet haben -, das andere daran gehindert hat, Ihnen zu helfen. Wenn Sie einen Knoten ohne Argumente starten, gelangen Sie in die REPL. Dies ist eine Umgebung für die interaktive Ausführung von Javascript. Es ist nicht der richtige Ort, um die Ausführung einer Datei zu starten. Mehr hier: nodejs.org/docs/v0.3.1/api/repl.html
Wayne
9
Dies ist schrecklich. Kopieren Sie die ausführbare Knotendatei NICHT in das Stammverzeichnis Ihrer Festplatte. Dafür sind Pfade gedacht, siehe die Antwort von @ kcbanner. Außerdem wird die Installation von Node durch das Fenster mit einer Node.js-Eingabeaufforderung geliefert, bei der die Pfade bereits richtig festgelegt sind, wenn Sie Ihren Systempfad nicht ändern möchten.
Joshperry
2
@ Joshperry - Ich denke, Sie verpassen den Punkt etwas. Die Frage wurde stark vom Original bearbeitet, aber das Hauptproblem des OP war, dass versucht wurde, eine Datei aus der REPL auszuführen. Nichts an meiner Antwort ist als langfristige Installationslösung gedacht, noch ist dies impliziert. Die Anweisungen sind so einfach, dass sie den Unterschied zwischen der Ausführung einer .jsDatei und dem Öffnen der REPL genau veranschaulichen .
Wayne
28

Sie müssen sicherstellen, dass nodedas in Ihrem ist PATH. Um Ihren Weg einzurichten, gehen Sie wie folgt vor .

Stellen Sie sicher, dass sich das Verzeichnis node.exein Ihrem befindet PATH. Dann solltest du laufen können node path_to_js_file.js.

Ein gutes Beispiel für "Hello World" finden Sie unter: http://howtonode.org/hello-node

kcbanner
quelle
Ich habe node.exe zu dem Ordner hinzugefügt, in dem sich die Datei hello.js befindet. Außerdem wurde dem Pfad c: \ abc \ zyx \ ein
Pfadpunkt
Was ist der Fehler? Es ist schwierig, Hilfe zu leisten, ohne den tatsächlichen Fehler zu kennen.
kcbanner
1
Entschuldigung, ich habe die Erwähnung vergessen. Bitte beachten Sie mein Update in der Frage. Danke fürs Helfen.
Mitul
Oh, ich verstehe. Das sieht nach einem Problem in Ihrer hello.js-Datei aus. Bitte posten Sie den Inhalt dieser Datei
kcbanner
1
Ich habe meine Antwort mit einem guten "Hallo Welt" -Beispiel für Knoten aktualisiert.
Kcbanner
8

ein anderer einfacher Weg

  1. Laden Sie nodejs auf Ihr System herunter
  2. Öffnen Sie einen Editor. Schreiben Sie den Befehl "console.log ('Hello World')."
  3. Speichern Sie die Datei als hello.js, vorzugsweise am selben Speicherort wie nodejs
  4. Öffnen Sie die Eingabeaufforderung. Navigieren Sie zu dem Speicherort, an dem sich der Knoten befindet
    c:\program files\nodejs
  5. und führen Sie den Befehl von der Position wie aus c:\program files\nodejs>node hello.js
  6. Falls die js-Datei an einem anderen Speicherort den Dateipfad angibt c:\program files\nodejs>node path\hello.js
RAVI KIRAN
quelle
5

Ich habe Node für Windows installiert. Es gibt eine node.js-Eingabeaufforderung, wenn ich im Windows 7-Startmenü nach node.js suche. Wenn Sie diese spezielle Eingabeaufforderung ausführen, können Sie alles an einem beliebigen Ort knoten, ohne den Pfad einzurichten oder node.exe überall zu kopieren.

Gewähren
quelle
3

WinXp: Ich habe eine .batDatei erstellt

node c:\path\to\file\my_program.js

Das läuft einfach my_program.batvom Explorer oder im Cmd-Fenster

Anatoly S.
quelle
3

Gehen Sie zu cmd und geben Sie Folgendes ein: node "C: \ Path \ To \ File \ Sample.js"

HUHO
quelle
3

Windows/CMDweiß nicht, wo sich die Knotendatei befindet. Sie können manuell eingeben:

path=%path%;"c:\Program Files\nodejs"

Jedes Mal, wenn Sie eine neue Eingabeaufforderung cmd.exe öffnen

ODER (in Windows 10),

  1. Rechtsklick auf This PC-> properties.
  2. Klicken Sie auf Advanced system settings-> Environment Variables(unten rechts).
  3. Wählen Sie Pathund klicken Sie Edit.
  4. Klicken Sie auf Neu und geben Sie ein C:\Program Files\nodejs.
  5. Starten Sie neu und Sie sollten in der Lage sein, Knoten von jedem Verzeichnis aus auszuführen.
Qasde
quelle
1

Typ node jsEingabeaufforderung im Startbildschirm. und benutze es. ODER PATHKnotensatz in Umgebungsvariable.

Bhavik Patel
quelle
0

Für alle, die nicht wissen, wie sie anfangen sollen!

https://github.com/sethvincent/javascripting

Kopieren Sie hier, falls der Link stirbt:

  1. Öffnen Sie die Eingabeaufforderung node.js.
  2. Erstellen Sie ein Verzeichnis mit dem Namen javascripting, indem Sie "mkdir javascripting" eingeben.
  3. Wechseln Sie in den Ordner javascripting, indem Sie "cd javascripting" eingeben.
  4. Erstellen Sie eine Datei mit dem Namen Introduction.js, indem Sie "touch Introduction.js" oder FOR WINDOWS eingeben: "NUL> Introduction.js".
  5. Öffnen Sie die Datei und geben Sie Javascript ein, z. B. "Console.log ('Hallo');"
  6. Speichern Sie die Datei und überprüfen Sie, ob sie ausgeführt wird, indem Sie "javascripting verify Introduction.js" eingeben.
Fred Johnson
quelle
0

Alles, was Sie tun müssen, ist, mit der rechten Maustaste auf die .js-Datei unter Windows zu klicken und "Mit Eingabeaufforderung öffnen " zu drücken ODER cmd zu öffnen, den Pfad in den Ordner zu kopieren, der Ihr Skript enthält, und den Befehl "cd [Text hier einfügen]" auszuführen. Dann mache "node example.js"

Samuel Williams
quelle
0

Das Problem war, dass Sie die Node.js-Antwort geöffnet haben, während alle automatisch davon ausgegangen sind, dass Sie sich in der Eingabeaufforderung befinden. Für das, was es wert ist, können Sie eine Javascript-Datei von der Repl mit dem .loadBefehl ausführen . Zum Beispiel:

.load c:/users/username/documents/script.js

Der gleiche Befehl kann auch in der Eingabeaufforderung verwendet werden, wenn Sie den Knoten zuerst innerhalb der Eingabeaufforderung starten, indem Sie nodeohne Argumente eingeben (vorausgesetzt, der Knoten befindet sich in PATH).

Ich finde es faszinierend, dass 1) jeder davon ausgegangen ist, dass Sie sich eher in der Eingabeaufforderung als in der Antwort befanden, 2) niemand etwas zu wissen scheint .loadund 3) dies 273 positive Stimmen hat, was beweist, dass viele andere Anfänger von node.js ähnlich verwirrt sind.

Matthew
quelle
0

Ich hatte ein solches Problem mit Windows. Und ich habe es so entschieden: startApp.cmd:

@set JAVA_HOME=C:\jdk160_24
@set PATH=%JAVA_HOME%/bin;%PATH%
@cd /D C:\app\

@start /b C:\WINDOWS\system32\cscript.exe 
C:\app\start.js

und speicherte es cmd-Datei im Verzeichnis C: \ scripts nächste Datei ist runApp.bat:

C:\scripts\startApp.cmd
Евгений Рябышев
quelle
0

Ändern Sie einfach die Dateizuordnung der .jsDatei in node.exeund Sie können direkt vom Explorer aus ausführen.

1) Right click on the file -> Select "Open with" -> Select "Choose another program"
2) Check box "Always use this app to open .js file"
3) Click "More apps" -> "Look for another app in PC"
4) Navigate to node.js installation directory.(Default C:\Program Files\nodejs\node.exe"
5) Click "Open" and you can just see cmd flashing

Hinweis: Das Hinzufügen des folgenden Codes am Ende der js-Datei ist hilfreich, da die Konsole für einen Tastendruck geöffnet bleibt.

console.log('Press any key to exit');

process.stdin.setRawMode(true);
process.stdin.resume();
process.stdin.on('data', process.exit.bind(process, 0));
Harikrishnan
quelle
0

Schritt für Windows

  1. Drücken Sie Strg + r. Geben Sie dann cmd ein und drücken Sie die Eingabetaste.
  2. Jetzt ist die Eingabeaufforderung geöffnet.

  3. nach dem Typ cd Dateipfad der Datei. Beispiel (CD C: \ Benutzer \ Benutzer \ Desktop \) und drücken Sie die Eingabetaste.

  4. Bitte überprüfen Sie, ob npm installiert ist oder nicht, indem Sie diesen Befehlsknoten -v verwenden. Wenn Sie dann installiert haben, erhalten Sie die Knotenversion.
  5. Geben Sie den Befehl an der Eingabeaufforderung wie folgt ein: filename.js. Beispiel (Knoten app.js)

C:\Users\user\Desktop>node app.js
Vijayabalan
quelle
-1
c:\> node.exe %CD%\hello.js

% CD% erfasst das aktuelle Verzeichnis unter DOS

Visitsb
quelle
Wenn Sie das aktuelle Verzeichnis verwenden möchten, müssen Sie keinen absoluten Pfad angeben. c:\> node.exe hello.jswird auch funktionieren.
Ankit Balyan