Standardmäßig ordnet Windows .jsDateien dem Windows Script Host zu , der eigenständigen JS-Laufzeit-Engine von Microsoft. Wenn Sie an einer Eingabeaufforderung script.js eingeben (oder .jsim Explorer auf eine Datei doppelklicken ), wird das Skript von ausgeführt wscript.exe.
Dies kann ein lokales Problem mit einem globalen Umfeld zu lösen , aber man konnte assoziieren .js Dateien mit node.exestatt, so dass der Eingabe script.js an einer Eingabeaufforderung oder einen Doppelklick / Ziehen Elemente auf Skripte werden sie mit Knoten starten.
Wenn Sie - wie ich - .jsDateien mit einem Editor verknüpft haben, sodass ein Doppelklick darauf Ihren bevorzugten Texteditor öffnet, hilft dieser Vorschlag natürlich nicht viel. Sie können Dateien auch einen Rechtsklick-Menüeintrag "Mit Knoten ausführen" hinzufügen.js , obwohl diese Alternative Ihre Befehlszeilenanforderungen nicht erfüllt.
Die einfachste Lösung besteht wahrscheinlich darin, nur eine Batch-Datei zu verwenden. Sie müssen keine Kopie von Node in dem Ordner haben, in dem sich Ihr Skript befindet. Verweisen Sie einfach auf die ausführbare Node-Datei:
"C:\Program Files (x86)\nodejs\node.exe" app.js %*
Eine andere Alternative ist diese sehr einfache C # -App, die Node mit seinem eigenen Dateinamen + .jsals Skript zum Ausführen startet und alle Befehlszeilenargumente weitergibt.
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);
}
}
Wenn Sie also die resultierende EXE-Datei "app.exe" nennen, können Sie Folgendes eingeben, app arg1 ...und Node wird mit der Befehlszeile gestartet "app.js" arg1 .... Beachten Sie, dass die C # -Bootstrapper-App sofort beendet wird und Node für das Konsolenfenster verantwortlich ist.
Da dies wahrscheinlich von relativ großem Interesse ist, habe ich dies auf GitHub verfügbar gemacht , einschließlich der kompilierten Exe, wenn es Ihr Ding ist, mit Fremden in Lieferwagen zu steigen.