2016-07-05 21 views
-1

Ich habe mehrere verwandte Fragen hier gelesen, kann aber immer noch nicht herausfinden, was ich falsch mache. Hier ist mein Skript (simple.js):Befehlszeilenargumente zu Node.js

var x = process.argv[2] 
    console.log(x); 

jetzt, wenn ich in der

REPL Typ
.load simple.js Hello 

der REPL Antworten

Failed to load:simple.js Hello 

aber ich habe diese (Simple2 getan. js):

console.log(process.argv); 

und wann Ich .load diese Datei in REPL es Antworten

> console.log(process.argv); 
    [ 'C:\\Program Files\\nodejs\\node.exe' ] 
    undefined 
+0

gerade getestet: Das glaube ich nicht die REPL '.load' für diese Art der Sache ausgelegt ist. Wahrscheinlich müssen Sie im Terminal den Standard 'node simple.js Hello' verwenden. – gcampbell

Antwort

0

Sie nicht Befehlszeile args .load passieren kann. Der zweite Fall ist nicht gescheitert, weil Sie keinen bestanden haben.

Wenn Sie cmdline-Argumente verwenden möchten, verwenden Sie einfach das OS-Terminal und geben Sie node simple.js Hello ein.

0

.load Innerhalb der Node REPL lädt nur eine Datei. Von der REPL docs sieht es aus wie der primäre Anwendungsfall von .load ist, eine REPL-Sitzung wiederherzustellen, die mit .save gespeichert wurde.

In Ihrem erfolgreichen Beispiel seines einfach zeigen, was process.argv zu setzen, wenn Sie läuft node in Ihrem Terminal