डिफ़ॉल्ट रूप से, विंडोज़ विंडोज़ स्क्रिप्ट होस्ट , माइक्रोसॉफ्ट के स्टैंड-अलोन जेएस रनटाइम इंजन के .js
साथ फाइलों को जोड़ती है । यदि आप कमांड प्रॉम्प्ट पर script.js टाइप करते हैं (या एक्सप्लोरर में किसी फाइल को डबल-क्लिक करते हैं ), तो स्क्रिप्ट निष्पादित होती है ।.js
wscript.exe
यह हो सकता है एक वैश्विक सेटिंग के साथ एक स्थानीय समस्या को हल करने के लिए, लेकिन आप सकता सहयोगी .js
के साथ फ़ाइलें node.exe
बजाय, ताकि टाइपिंग script.js एक आदेश पर शीघ्र या स्क्रिप्ट पर डबल क्लिक / खींच आइटम उन्हें नोड के साथ शुभारंभ करेंगे।
बेशक, अगर मेरी तरह - आपने .js
एक संपादक के साथ फाइलें संबद्ध की हैं ताकि डबल क्लिक करने से वे आपके पसंदीदा पाठ संपादक को खोल सकें, तो यह सुझाव बहुत अच्छा नहीं होगा। आप फ़ाइलों में "नोड के साथ निष्पादित करें" की राइट-क्लिक मेनू प्रविष्टि भी जोड़ सकते हैं .js
, हालांकि यह विकल्प आपकी कमांड-लाइन की जरूरतों को हल नहीं करता है।
सबसे सरल समाधान शायद एक बैच फ़ाइल का उपयोग करना है - आपके पास उस फ़ोल्डर में नोड की प्रतिलिपि होना आवश्यक नहीं है जिसमें आपका निवास है। बस नोड निष्पादन योग्य का संदर्भ लें:
"C:\Program Files (x86)\nodejs\node.exe" app.js %*
एक अन्य विकल्प यह बहुत ही सरल सी # ऐप है जो नोड को अपने स्वयं के फ़ाइल नाम + का उपयोग करके .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 # बूटस्ट्रैपर ऐप तुरंत बाहर निकल जाएगा, जिससे कंसोल विंडो के प्रभारी नोड निकल जाएंगे।
चूँकि यह शायद अपेक्षाकृत व्यापक हित है, इसलिए मैंने आगे बढ़कर इसे GitHub पर उपलब्ध कराया , जिसमें संकलित निर्वासन शामिल है यदि अजनबियों के साथ वैन में जाना आपकी बात है।