За замовчуванням Windows асоціює .js
файли з хостом сценаріїв Windows , автономним механізмом виконання JS від Microsoft. Якщо ви введете script.js у командному рядку (або двічі клацніть .js
файл у Провіднику), сценарій виконує wscript.exe
.
Це може бути вирішення локальної проблеми з глобальним налаштуванням , але ви можете пов'язувати .js
файли із node.exe
замість цього, щоб набрати script.js у командному рядку або двічі клацнути / перетягнути елементи на сценарії, запустити їх за допомогою Node.
Звичайно, якщо ви, як і я, пов’язали .js
файли з редактором, щоб подвійне клацання на них відкрило улюблений редактор тексту, ця пропозиція не принесе багато користі. Ви також можете додати до .js
файлів меню "Виконати за допомогою вузла" правою кнопкою миші , хоча ця альтернатива не вирішує ваші потреби в командному рядку.
Найпростішим рішенням є, мабуть, просто використовувати пакетний файл - вам не потрібно мати копію Node в папці, в якій знаходиться ваш скрипт. Просто посилайтесь на виконуваний файл Node абсолютно:
"C:\Program Files (x86)\nodejs\node.exe" app.js %*
Інша альтернатива - це дуже простий додаток C #, який запустить Node, використовуючи власне ім’я файлу + .js
як сценарій для запуску, і передасть усі аргументи командного рядка.
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);
}
}
Отже, якщо ви назвете отриманий EXE "app.exe", ви можете ввести app arg1 ...
і Node почнеться з командного рядка "app.js" arg1 ...
. Зауважте, що додаток завантажувача C # негайно вийде, залишивши Node, що відповідає за вікно консолі.
Оскільки це, мабуть, представляє досить широкий інтерес, я пішов наперед і зробив це доступним на GitHub , включаючи компільований exe, якщо потрапити в мікроавтобуси з незнайомцями - це ваша справа.