सबसे पहले हम समझते हैं की Node JS क्या है? जब हम Node JS को अपने सिस्टम में install करते हैं तो इसके द्वारा हम क्या कर सकते हैं? सबसे पहले इस पर विचार करते हैं
node command
जिस प्रकार आप C# या C++ या C प्रोग्रामिंग लैंग्वेज के सॉफ्टवेयर को install करते हैं तो वह एक compiler प्रदान करता है जिस compiler की मदद से आप उस प्रोग्रामिंग लैंग्वेज में जब भी कुछ लिखते हैं तो उस लैंग्वेज की गलतियों को पकड़ने में मदद करता है, लैंग्वेज को compile करने और उस लैंग्वेज के आधार पर जो सॉफ्टवेयर बनता है उसका EXE फाइल प्रदान करने में मदद करता है । फिर उस EXE फाइल को हम किसी भी मशीन पर जो मशीन कंपैटिबल हो उस मशीन पर हम उस EXE को Run कर सकते हैं । इस प्रकार जब हम प्रोग्रामिंग लैंग्वेज की मदद से कोई application विकसित करते हैं तो हमें सॉफ्टवेयर के द्वारा न केवल compiler प्रदान किया जाता है बल्कि और भी कई सारे debugging और build करने से संबंधित tools प्रदान किए जाते हैं
जब आप Node JS को अपने सिस्टम में install करते हैं तब क्या होता है? तब आप node command की मदद से किसी JavaScript file को Run कर सकते हैं
C:\Users\shribodh>node --help
Usage: node [options] [ script.js ] [arguments]
node inspect [options] [ script.js | host:port ] [arguments]
उपर के node command से स्पष्ट है कि हम किसी JavaScript स्क्रिप्ट को run कर सकते हैं
Develop Server Side App
Node को अपने सिस्टम में install करके हम कोई भी server side application को विकसित कर सकते हैं । server side application की खासियत यह होती है यह database के साथ कनेक्शन स्थापित कर सकता है और मशीन के विभिन्न प्रकार के फाइलों को प्राप्त कर सकता है उनको modify कर सकता है अथवा उनको delete कर सकता है । इस तरह की खूबी किसी client side web application जैसे ब्राउज़र या जावास्क्रिप्ट की मदद से जो बनते हैं उन application में नहीं होती है ऐसा इसलिए होता है ताकि ब्राउज़र अथवा अन्य application client मशीन के डाटा को corrupt ना कर सके, नुकसान न पहुंच सके । इसके विपरीत server side application के विकसित करने वाले सॉफ्टवेयर में database से कनेक्शन करने और database से फाइलों को एक्सेस करने की खासियत होती है
REST API based Applications
Node JS की मदद से हम ऐसे कई सारे application बना सकते हैं जो server के फाइल को modify करने से संबंधित हो या database से फाइल प्राप्त करके API data के रूप में परिवर्तित करने की बात हो इन सभी कार्यों के लिए Node JS सक्षम है । यही कारण है की Node JS जैसे ज्यादातर सॉफ्टवेयर रिप्लाई से संबंधित होते हैं । यहां भी अपि साभिप्राय server side API के प्रति client request भेजता है और Node JS API database के साथ कनेक्शन स्थापित करके डाटा को JSON के रूप में या plain text के रूप में या अन्य किसी रूप में जैसे XML के रूप में client के पास भेज देता है आमतौर पर Node JS का उपयोग यूजर इंटरफेस को डिजाइन करने के लिए नहीं किया जाता है बल्कि server side प्रोग्रामिंग के लिए किया जाता है । server side प्रोग्रामिंग का मुख्य कार्य database से कनेक्शन स्थापित करके डाटा को प्राप्त करके client के पास भेजने से होता है । database के अलावा server के मशीन के भीतर जितने भी अलग-अलग तरह के फाइल होते हैं चाहे वह HTML वेब पेज हो अथवा कोई अन्य प्रकार का स्टैटिक फाइल हो जैसे इमेज का फाइल ऑडियो वीडियो फाइल इत्यादि इन सभी फाइलों को client के द्वारा request करने पर वेब server के द्वारा भेज दिया जाता है । Node JS का उपयोग server application बनाने के रूप में किया जाता है और विशेष करके हम जोर देकर कह सकते हैं की Node JS का उपयोग API आधारित app को बनाने में किया जाता है खासकर RESTful API को जिसमें URL की uniformity का बहुत ही ज्यादा ध्यान रखा जाता है यूआरएल की uniformity या सुसंगत का अभिप्राय है कि client यूआरएल के आधार पर अलग-अलग प्रकार request को server के पास भेजता है । RESTful API की सबसे बड़ी विशेषता उसका URL होता है server डाटा को आजकल JSON के फॉर्मेट में भेजता है । इसके पहले XML टेक्नोलॉजी का ज्यादा महत्व था तो XML के रूप में डाटा को server client को भेजता था । JSON light weight होता है इस कारण इसका उपयोग XML आधारित data की जगह किया जा रहा है
NPM और Node
अब तक हमने समझ लिया कि Node JS का उपयोग किस लिए किया जाता है अब हम देखेंगे की Node JS का उपयोग अपने सिस्टम पर किस प्रकार कर सकते हैं जब आप Node JS को install करते हैं तो उसके साथ ही एक NPM नाम का पैकेज भी install होता है । NPM का फुल फॉर्म Node Package Manager होता है । Node पैकेज मैनेजर की मदद से हम Node से संबंधित अलग-अलग प्रकार के पैकेज को विकसित होने वाले application में कर सकते हैं । अलग-अलग तरह के Node पैकेज को application में उपयोग करने के लिए NPM की सहायता ली जाती है जब हम Node को install करते हैं तो उसके साथ ही NPM अर्थात Node Package Manager भी install हो जाता है ।
हमने समझ लिया की Node पैकेज मैनेजर क्या होता है । Node के भीतर ज्यादातर काम कमांड लाइन होता है अर्थात हम टर्मिनल पर अपने command को लिखकर किसी कार्य को संपादित करते हैं । आप यहां दो बातें ध्यान रखने वाली है । आप एक command Node से संबंधित लिखते हैं दूसरा NPM से संबंधित लिखते हैं जो Node से संबंधित command है और जो NPM अर्थात Node पैकेज मैनेजर से संबंधित command है इन दोनों को अच्छे से जानना जरूरी है । आप NPM का उपयोग पैकेज को install करने के लिए करते हैं लेकिन यह पैकेज कहां install होता है? जब आप कोई Node JS आधारित application विकसित करते हैं तो उसके भीतर Node का पैकेज install होता है
npm command
C:\Users\shribodh>npm --help
npm <command>
Usage:
- npm install install all the dependencies in your project
- npm install <foo> add the <foo> dependency to your project
- npm test run this project's tests
- npm run <foo> run the script named <foo>
- npm <command> -h quick help on <command>
- npm -l display usage info for all commands
- npm help <term> search for help on <term> (in a browser)
- npm help npm more involved overview (in a browser)
All commands:
access, adduser, audit, bugs, cache, ci, completion, config, dedupe, deprecate, diff, dist-tag, docs, doctor, edit, exec, explain, explore, find-dupes, fund, get, help, help-search, hook, init, install, install-ci-test, install-test, link, ll, login, logout, ls, org, outdated, owner, pack, ping, pkg, prefix, profile, prune, publish, query, rebuild, repo, restart, root, run-script, sbom, search, set, shrinkwrap, star, stars, start, stop, team, test, token, uninstall, unpublish, unstar, update, version, view, whoami
Develop App based on Node and NPM
आइये हम Node पर आधारित application बनाते हैं और सीखते हैं कि कैसे इन दोनों का उपयोग किया जाता है
सबसे पहले आप अपने डेस्कटॉप पर एक फ़ोल्डर बनाए और उसका एक वांछित नाम दे दीजिए । यह नाम आपकी application के नाम के अनुरूप होना चाहिए । फोल्डर की भीतर जाकर राइट क्लिक करके आप अपने विजुअल स्टूडियो कोड एडिटर को ओपन कर लीजिए । विजुअल स्टूडियो कोड एडिटर के खुलने के बाद आप विजुअल स्टूडियो कोड एडिटर के टर्मिनल को ओपन कीजिए । टर्मिनल के भीतर आप निम्नलिखित command को टाइप कीजिए । इस command को टाइप करने के बाद जब आप ENTER key प्रेस करते हैं तो आपके सिस्टम में एक package.json फाइल फोल्डर के भीतर बन जाता है जब पहली बार आप ENTER press करते हैं तो वह आपसे कई तरह के इनपुट के लिए आग्रह करता है आप जितने भी इनपुट के लिए आग्रह हो उन सबके लिए इनपुट की जगह इंटर को प्रेस करते जाइए अंत में आपका फाइल जिसका जैसन पैकेज नाम है आपकी रूट फोल्डर अर्थात जो फोल्डर अपने डेस्कटॉप पर बनाया है उसके भीतर बन जाएगा इस पैकेज का उपयोग पैकेज के भीतर application के भीतर पैकेज के मैनेजमेंट के लिए किया जाता है याद रखें की Node JS का application पैकेज पर आधारित होता है Node JS के application में कई सारे पैकेज होते हैं अतः उन पैकेज का मैनेजमेंट करना आवश्यक होता है इन सब कार्यों के लिए package.json फाइल का उपयोग किया जाता है।
जब आपका package पहली बार बनता है तो उसे package के भीतर जब आप खोलकर देखेंगे तो आपकी application का नाम उसकी व्याख्या डिस्क्रिप्शन और अन्य कई प्रकार की जानकारी उपलब्ध होती है जिसके बारे में हम धीरे-धीरे आगे सीखेंगे जिस नाम का अपने फ़ोल्डर बनाया उसी नाम को application का नाम मानकर package फाइल के भीतर application का नाम दे दिया जाता है और डिस्क्रिप्शन के भीतर आपको कुछ नहीं दिखता है क्योंकि आपने इंटर प्रेस कर दिया था कुछ इनपुट नहीं किया था अभी तक आपने अपने application के भीतर कोई भी package install नहीं किया है इसलिए आपकी application के भीतर package फाइल के अलावा अभी कुछ नहीं है तो सबसे पहले हम अपने application में एक package install करेंगे जब हम कोई भी package अपने सिस्टम में install करेंगे तो इनस्टॉल करते ही आपकी application के रूट फोल्डर के भीतर NodeModule नाम का एक फोल्डर बन जाएगा यह nodemodules फोल्डर उन सारे package को अपने भीतर रखेगा जब-जब आप अपना कोई नया package अपने application के भीतर install करेंगे साथ ही साथ package नामक फाइल के भीतर भी जो जो package आप install करेंगे उसकी जानकारी जैसे package का नाम उसका version इत्यादि लिखा जाएगा जैसे ही आप कोई package अपने application में बनाते हैं तो Node मॉड्यूल नामक फोल्डर बना साथ ही साथ package.lock नाम का भी एक नया फाइल बन जाता है जहां package फाइल का काम जो जो package आप install करते हैं उसके बारे में सामान्य जानकारी उपलब्ध कराना है वहीं दूसरी ओर package.lock का कार्य प्रत्येक package किस सूत्र से किस यूआरएल से प्राप्त किया गया है इन सब बातों की जानकारी उसमें होती है याद रखें कि आपकी application का सबसे महत्वपूर्ण फाइल package.json होता है जिसको पढ़कर आप या कोई भी अन्य व्यक्ति या अंदाज लगा सकता है की किन-किन package का उपयोग करके आपका application विकसित किया गया है।
© अजीत कुमार, सर्वाधिकार सुरक्षित।
No comments:
Post a Comment