Per impostazione predefinita, Windows associa i .jsfile a Windows Script Host , il motore di runtime JS autonomo di Microsoft. Se digiti script.js al prompt dei comandi (o fai doppio clic su un .jsfile in Explorer), lo script viene eseguito dawscript.exe .
Questo potrebbe risolvere un problema locale con un'impostazione globale , ma potresti invece associare .js file a node.exe, in modo che digitando script.js al prompt dei comandi o facendo doppio clic / trascinando gli elementi sugli script li con Node.
Naturalmente, se, come me, hai associato i .jsfile a un editor in modo che facendo doppio clic su di essi si apra il tuo editor di testo preferito, questo suggerimento non servirà a molto. Puoi anche aggiungere una voce di menu di scelta rapida di di di "Esegui con nodo" .js, sebbene questa alternativa non risolva le esigenze della riga di comando.
La soluzione più semplice è probabilmente quella di utilizzare solo un file batch: non è necessario avere una copia di Node nella cartella in cui risiede lo script. Fai semplicemente riferimento all'eseguibile di Node in modo assoluto:
"C:\Program Files (x86)\nodejs\node.exe" app.js %*
Un'altra alternativa è questa semplicissima app C # che avvierà Node usando il proprio nome di file + .jscome script da eseguire e passerà qualsiasi argomento della riga di comando.
class Program
{
static void Main(string[] args)
{
var info = System.Diagnostics.Process.GetCurrentProcess();
var proc = new System.Diagnostics.ProcessStartInfo(@"C:\Program Files (x86)\nodejs\node.exe", "\"" + info.ProcessName + ".js\" " + String.Join(" ", args));
proc.UseShellExecute = false;
System.Diagnostics.Process.Start(proc);
}
}
Quindi, se si chiama l'EXE risultante "app.exe", è possibile digitare app arg1 ...e Node verrà avviato con la riga di comando "app.js" arg1 .... Si noti che l'app per il programma di avvio automatico C # verrà chiusa immediatamente, lasciando Node responsabile della finestra della console.
Poiché questo è probabilmente di interesse relativamente ampio, sono andato avanti e l'ho reso disponibile su GitHub , incluso l' exe compilato se entrare in furgoni con estranei è la tua passione.