लिनक्स में अपना पहला Node.js ऐप कैसे लिखें


पिछले कुछ वर्षों में वेब विकास के रुझान में काफी बदलाव आया है और एक वेब डेवलपर के रूप में, आपके खेल के शीर्ष पर होना, नवीनतम तकनीकों के साथ अपडेट रहना महत्वपूर्ण है।

जावास्क्रिप्ट वहां की मौजूदा ट्रेंडिंग प्रोग्रामिंग भाषा है; यह बिना किसी संदेह के सबसे लोकप्रिय तकनीक है जिसका उपयोग पूर्ण स्टैक डेवलपर्स द्वारा किया जाता है।

जावास्क्रिप्ट वेब फ्रेमवर्क पूर्ण दक्षता, सुरक्षा और न्यूनतम लागत के साथ तेजी से वेब विकास के लिए एक जादुई समाधान बन गया है। मुझे पूरा यकीन है कि आपने नोड जावास्क्रिप्ट के बारे में सुना है (आमतौर पर Node.js या बस नोड के रूप में संदर्भित), इसके बारे में चर्चा है इंटरनेट पर।

इस लेख में, मैं आपको दिखाऊंगा कि लिनक्स में जावास्क्रिप्ट का उपयोग कर Node.js का उपयोग करके विकासशील अनुप्रयोगों के साथ शुरुआत कैसे करें। लेकिन पहले, आपको Node.js का संक्षिप्त परिचय प्राप्त करने देता है।

Node.js क्या है?

Node.js एक खुला स्रोत है, जो क्रोम के V8 जावास्क्रिप्ट इंजन पर निर्मित हल्का और कुशल जावास्क्रिप्ट रनटाइम है। यह थ्रेड्स (सिंगल-थ्रेडेड) के बिना डिज़ाइन किया गया है और ट्विस्ड के समान कार्यान्वयन है, जो पाइथन या इवेंट मशीन, रूबी कार्यक्रमों के लिए एक इवेंट-प्रोसेसिंग लाइब्रेरी का उपयोग करके बनाया गया एक नेटवर्किंग इंजन है।

Node.js का दिल इवेंट-संचालित प्रोग्रामिंग पर आधारित है; एक प्रोग्रामर को यह समझना चाहिए कि कौन सी घटनाएं उपलब्ध हैं और उन्हें कैसे प्रतिक्रिया दें।

पैकेज प्रबंधन के तहत Node.js

Node.js जावास्क्रिप्ट पैकेज मैनेजर और इकोसिस्टम का उपयोग करता है जिसे "npm" कहा जाता है, जिसमें मुक्त खुले स्रोत पुस्तकालयों का विशाल संग्रह होता है। यह मॉड्यूलर सॉफ्टवेयर डेवलपमेंट के लिए सपोर्ट करता है। आप इसका उपयोग नोड पैकेज स्थापित करने, साझा करने, अपना कोड वितरित करने और पैकेज निर्भरता को प्रबंधित करने के लिए कर सकते हैं।

Node.js निम्न कारणों से एक शक्तिशाली और इस प्रकार महत्वपूर्ण है:

  • It uses an asynchronous event-driven, non-blocking I/O model of execution, which improves an application’s throughput and supports scalability for real-world web applications.
  • It is single threaded so it can only use 1 CPU at any given time.
  • A node.js web application is a complete web server for example Nginx or Apache.
  • It supports threads via the child_process.fork() API, for spawning child process, and also offers a cluster module.

इस संक्षिप्त परिचय के साथ, आपको अपना पहला जावास्क्रिप्ट प्रोग्राम लिखने के लिए उत्सुक होना चाहिए। हालाँकि, पहली चीजें पहले, आपको निम्नलिखित मार्गदर्शिका का उपयोग करके अपने लिनक्स सिस्टम पर Node.js और NPM पैकेज स्थापित करने की आवश्यकता है।

  1. Install Latest Nodejs and NPM Version in Linux Systems

लिनक्स में अपना पहला Node.js ऐप कैसे बनाएं

एक बार जब आप Node.js स्थापित कर लेते हैं, तो आप जाने के लिए तैयार हैं। पहले एक निर्देशिका बनाकर शुरू करें जो आपकी एप्लिकेशन फ़ाइलों को संग्रहीत करेगी।

$ sudo mkdir -p /var/www/myapp

फिर उस निर्देशिका में जाएं और अपने आवेदन के लिए एक package.json फ़ाइल बनाएं। यह फ़ाइल आपकी परियोजना के लिए एक छोटे से दस्तावेज़ के रूप में मदद करती है: परियोजना का नाम, लेखक, संकुल की सूची, जो इस पर निर्भर करती है।

$ cd /var/www/myapp
$ npm init

यह आपसे कई प्रश्न पूछेगा, बस नीचे वर्णित अनुसार उत्तर दें, और [Enter] दबाएं। ध्यान दें कि package.json में सबसे महत्वपूर्ण चीजें नीचे दिए गए नाम और संस्करण फ़ील्ड हैं।

  • package name – your app name, defaults to the directory name.
  • version – version of your app.
  • description – write a short description for your app.
  • entry point – sets the default packages file to be executed.
  • test command – used to create a test script (defaults to an empty script).
  • git repository – define a Git repository (if you have one).
  • keywords – set keywords, important for other users to identify your package on npm.
  • author – specifies author name, put your name here.
  • license – specify a license for your app/package.

अगला, एक server.js फ़ाइल बनाएं।

$ sudo vi server.js

इसमें नीचे दिए गए कोड को कॉपी और पेस्ट करें।

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(8080);
console.log('Server started on localhost:8080; press Ctrl-C to terminate...!');

अगला, निम्नलिखित आदेश का उपयोग करके अपना आवेदन शुरू करें।

$ node server.js
OR
$ npm start

इसके बाद, एक वेब ब्राउज़र खोलें और अपने वेब ऐप को एक्सेस करें, जो एड्रेस का उपयोग करके स्ट्रिंग "हैलो वर्ल्ड!" प्रिंट के अलावा और कुछ नहीं करता है:

http://localhost:3333

उपरोक्त हमारे कोड में, संसाधित होने वाली मुख्य घटना HTTP मॉड्यूल के माध्यम से एक HTTP अनुरोध है।

Node.js में, मॉड्यूल जावास्क्रिप्ट पुस्तकालयों की तरह अधिक हैं, इनमें ऐसे कार्य हैं जिन्हें आप अपने ऐप में पुन: उपयोग कर सकते हैं। आप इन-बिल्ट मॉड्यूल, तीस पार्टी मॉड्यूल का उपयोग कर सकते हैं या अपना खुद का बना सकते हैं।

अपने ऐप में मॉड्यूल को कॉल करने के लिए, दिखाए गए अनुसार फ़ंक्शन का उपयोग करें।

var http = require('http');

एक बार http मॉड्यूल को शामिल करने के बाद, यह एक सर्वर बनाएगा जो किसी विशेष पोर्ट ( 3333 इस उदाहरण में) को सुनता है। http.creatServer विधि वास्तविक http सर्वर बनाता है जो एक फ़ंक्शन को स्वीकार करता है (जो एक क्लाइंट जब ऐप तक पहुंचने की कोशिश करता है) एक तर्क के रूप में।

http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.end('Hello World!');
}).listen(8080);

http.createServer में फ़ंक्शन के दो तर्क हैं: req (अनुरोध) और res (प्रतिक्रिया) req तर्क एक उपयोगकर्ता या ग्राहक से अनुरोध है और res तर्क क्लाइंट को जवाब भेजता है।

res.writeHead(200, { 'Content-Type': 'text/plain' });		#This is a response HTTP header
res.end('Hello World!');

कोड का अंतिम भाग सर्वर लॉन्च होने के बाद कंसोल को आउटपुट भेजता है।

console.log('Server started on localhost:8080; press Ctrl-C to terminate...!');

इस खंड में, मैं Node.js प्रोग्रामिंग के तहत सबसे महत्वपूर्ण अवधारणाओं में से एक को समझाऊंगा रूटिंग के रूप में जाना जाता है (कंप्यूटर नेटवर्किंग के तहत मार्ग के लिए तुलनीय: यातायात के लिए एक रास्ता खोजने की प्रक्रिया एक नेटवर्क में)।

यहां, रूटिंग क्लाइंट के अनुरोध को संभालने की एक तकनीक है; URL में निर्दिष्ट सामग्री के लिए ग्राहक ने अनुरोध किया है। URL पथ और क्वेरी स्ट्रिंग से बना है।

ग्राहक के अनुरोध क्वेरी स्ट्रिंग को देखने के लिए, हम अपनी प्रतिक्रिया में नीचे की पंक्तियों को जोड़ सकते हैं।

res.write(req.url);
res.end()

नीचे नया कोड है।

var http = require('http');
http.createServer(function(req,res){
        res.writeHead(200, { 'Content-Type': 'text/plain' });
        res.write(req.url);
      res.end();		
      }).listen(8080);
console.log('Server started on localhost:8080; press Ctrl-C to terminate...!');

फ़ाइल को सहेजें और निम्न आदेश का उपयोग करके अपने आवेदन को फिर से शुरू करें।

$ node server.js
OR
$ npm start

वेब ब्राउज़र से, अलग-अलग URL टाइप करें जो नीचे दिखाए गए अनुसार प्रदर्शित होंगे।

http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors

अब, हम एक होमपेज, के बारे में और लेखकों पृष्ठों के साथ Tecmint के लिए वास्तव में एक छोटी वेबसाइट बनाएंगे। हम इन पृष्ठों पर कुछ जानकारी प्रदर्शित करेंगे।

संपादन के लिए server.js फ़ाइल खोलें, और इसमें नीचे दिए गए कोड को जोड़ें।

//include http module 
var http = require('http');

http.createServer(function(req,res){
	//store URL in variable q_string

	var q_string = req.url;
	switch(q_string) {
		case '/':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Welcome To linux-console.net!')
                        	res.end();
                        	break;
                	case '/about':
                		res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('About Us');
                        	res.write('\n\n');
                        	res.write('linux-console.net - Best Linux HowTos on the Web.');
                        	res.write('\n');
                        	res.end('Find out more: https://linux-console.net/who-we-are/');
                        	break;
                	case '/tecmint/authors':
                        	res.writeHead(200, { 'Content-Type': 'text/plain' });
                        	res.write('Tecmint Authors');
                        	res.write('\n\n');
                        	res.end('Find all our authors here: https://linux-console.net/who-we-are/');
                        	break;
                	default:
                       		res.writeHead(404, { 'Content-Type': 'text/plain' });
                       		res.end('Not Found');
                        	break;
	}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');

उपरोक्त कोड में, हमने देखा है कि Node.js में टिप्पणियों को कैसे लिखना है / वर्णों का उपयोग करना और क्लाइंट अनुरोधों को रूट करने के लिए स्विच और केस स्टेटमेंट भी पेश किया।

फ़ाइल सहेजें, सर्वर शुरू करें और विभिन्न पृष्ठों तक पहुंचने का प्रयास करें।

अभी के लिए बस इतना ही! आप Nodejs और NPM वेबसाइटों पर अधिक जानकारी प्राप्त कर सकते हैं।

Node.js आज नई ऊंचाई पर पहुंच रहा है, इसने पूर्ण-स्टैक विकास को पहले की तुलना में बहुत आसान बना दिया है। इवेंट-संचालित प्रोग्रामिंग का यह अनूठा दर्शन आपको बिजली की तेज, कुशल और स्केलेबल वेब प्रक्रियाओं और सर्वरों को बनाने में सक्षम बनाता है।

आगे, हम Node.js रूपरेखाएँ समझाएंगे, जो वेब/मोबाइल एप्लिकेशन को जल्दी और मज़बूती से विकसित करने के लिए अपनी मूल क्षमताओं का विस्तार करते हैं। इस लेख के बारे में अपने विचार नीचे टिप्पणी अनुभाग के माध्यम से साझा करें।