ตามค่าเริ่มต้น Windows จะเชื่อมโยง.js
ไฟล์กับWindows Script Hostซึ่งเป็นเอ็นจินรันไทม์ JS แบบสแตนด์อโลนของ Microsoft ถ้าคุณพิมพ์script.jsที่พร้อมรับคำสั่ง (หรือคลิกสองครั้งที่.js
แฟ้มใน Explorer) wscript.exe
สคริปต์จะถูกดำเนินการโดย
นี่อาจกำลังแก้ปัญหาในเครื่องด้วยการตั้งค่าส่วนกลางแต่คุณสามารถเชื่อมโยง .js
ไฟล์node.exe
แทนได้ดังนั้นการพิมพ์script.jsที่พรอมต์คำสั่งหรือการดับเบิลคลิก / ลากรายการไปยังสคริปต์จะเปิดใช้งานด้วย Node
แน่นอนว่าถ้าคุณเชื่อมโยง.js
ไฟล์กับโปรแกรมแก้ไขเพื่อให้ดับเบิลคลิกที่ไฟล์เหล่านั้นเพื่อเปิดโปรแกรมแก้ไขข้อความที่คุณชื่นชอบคำแนะนำนี้จะไม่ได้ผลดีนัก คุณยังสามารถเพิ่มรายการเมนูคลิกขวาของ "Execute with Node" ลงใน.js
ไฟล์ได้แม้ว่าทางเลือกนี้จะไม่สามารถตอบสนองความต้องการบรรทัดคำสั่งของคุณได้
วิธีแก้ปัญหาที่ง่ายที่สุดคือใช้แบตช์ไฟล์ - คุณไม่จำเป็นต้องมีสำเนาของ Node ในโฟลเดอร์ที่สคริปต์ของคุณอยู่เพียงแค่อ้างอิง Node ที่ปฏิบัติการได้อย่างแน่นอน:
"C:\Program Files (x86)\nodejs\node.exe" app.js %*
อีกทางเลือกหนึ่งคือแอป C # ที่เรียบง่ายซึ่งจะเริ่มต้นโหนดโดยใช้ชื่อไฟล์ + ของตัวเอง.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 ...
"app.js" arg1 ...
โปรดทราบว่าแอป C # bootstrapper จะออกทันทีโดยปล่อยให้ Node รับผิดชอบหน้าต่างคอนโซล
เนื่องจากสิ่งนี้น่าจะเป็นที่สนใจค่อนข้างกว้างฉันจึงดำเนินการต่อและทำให้สิ่งนี้พร้อมใช้งานบน GitHubรวมถึงexe ที่รวบรวมไว้หากการขึ้นรถตู้กับคนแปลกหน้าเป็นสิ่งที่คุณต้องการ