De forma predeterminada, Windows asocia .js
archivos con Windows Script Host , el motor de tiempo de ejecución JS independiente de Microsoft. Si escribe script.js en un símbolo del sistema (o hace doble clic en un .js
archivo en el Explorador), el script es ejecutado por wscript.exe
.
Esto puede estar resolviendo un problema local con una configuración global , pero podría asociar .js
archivos con en su node.exe
lugar, de modo que escribir script.js en un símbolo del sistema o hacer doble clic / arrastrar elementos a los scripts los lanzará con Node.
Por supuesto, si, como yo, ha asociado .js
archivos con un editor para que al hacer doble clic en ellos se abra su editor de texto favorito, esta sugerencia no servirá de mucho. También puede agregar una entrada de menú del botón derecho de "Ejecutar con nodo" a los .js
archivos, aunque esta alternativa no resuelve sus necesidades de línea de comandos.
La solución más simple probablemente sea usar un archivo por lotes; no es necesario que tenga una copia de Node en la carpeta en la que reside su script. Simplemente haga referencia al ejecutable de Node absolutamente:
"C:\Program Files (x86)\nodejs\node.exe" app.js %*
Otra alternativa es esta aplicación C # muy simple que iniciará Node usando su propio nombre de archivo + .js
como el script a ejecutar, y pasará cualquier argumento de línea de 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);
}
}
Entonces, si nombra el EXE resultante "app.exe", puede escribir app arg1 ...
y Node se iniciará con la línea de comando "app.js" arg1 ...
. Tenga en cuenta que la aplicación de arranque de C # se cerrará inmediatamente, dejando a Node a cargo de la ventana de la consola.
Dado que esto probablemente sea de un interés relativamente amplio, seguí adelante y lo puse a disposición en GitHub , incluido el exe compilado si lo tuyo es entrar en furgonetas con extraños.