Node.js के साथ शुरुआत करने के बाद, अब समय है कि हम इसके बेसिक्स को समझें। इस अध्याय में, हम Node.js की बुनियादी अवधारणाओं और सुविधाओं को कवर करेंगे जो आपको अपने एप्लिकेशंस को विकसित करने में मदद करेंगी।
Node.js एक मॉड्यूलर आर्किटेक्चर का उपयोग करता है, जो डेवलपर्स को छोटे, पुन: प्रयोज्य कोड ब्लॉक्स में कोड लिखने की अनुमति देता है। यह अध्याय आपको मॉड्यूल्स, पैकेज मैनेजर (npm), और Node.js REPL (Read-Eval-Print Loop) के उपयोग के बारे में जानने में मदद करेगा।
इस अध्याय में, हम निम्नलिखित टॉपिक्स को कवर करेंगे:
- जावास्क्रिप्ट के मूल बातें ताज़ा करना (JavaScript Basics Refresher): हम जावास्क्रिप्ट की प्रमुख अवधारणाओं को संक्षेप में पुनः समझेंगे जो Node.js के साथ काम करने के लिए आवश्यक हैं।
- Node.js REPL का परिचय (Introduction to Node.js REPL): हम Node.js REPL के बारे में जानेंगे, जो एक इंटरैक्टिव शेल है जो आपको जावास्क्रिप्ट कोड को टाइप और निष्पादित करने की अनुमति देता है।
- मॉड्यूल्स और
require()
को समझना (Understanding Modules andrequire()
): हम देखेंगे कि कैसे Node.js मॉड्यूल्स का उपयोग करता है औरrequire()
फ़ंक्शन के माध्यम से अन्य मॉड्यूल्स को इंपोर्ट किया जाता है।
Node.js बेसिक्स को समझने से आप अधिक जटिल एप्लिकेशंस बनाने के लिए आवश्यक बुनियादी ज्ञान प्राप्त करेंगे। आइए इस यात्रा को जारी रखें और Node.js की बुनियादी अवधारणाओं को गहराई से समझें।
जावास्क्रिप्ट के मूल बातें ताज़ा करना (JavaScript Basics Refresher)
Node.js में महारत हासिल करने के लिए, जावास्क्रिप्ट की मजबूत समझ आवश्यक है। जावास्क्रिप्ट एक व्यापक रूप से उपयोग की जाने वाली प्रोग्रामिंग भाषा है जो Node.js का मुख्य आधार है। इस सेक्शन में, हम जावास्क्रिप्ट की कुछ प्रमुख अवधारणाओं को संक्षेप में पुनः समझेंगे जो Node.js के साथ काम करने के लिए आवश्यक हैं।
1. वेरिएबल्स (Variables)
जावास्क्रिप्ट में वेरिएबल्स का उपयोग डेटा को स्टोर करने के लिए किया जाता है। वेरिएबल्स को तीन तरीकों से घोषित किया जा सकता है: var
, let
, और const
।
var name = "John"; let age = 30; const isStudent = true;
2. डेटा प्रकार (Data Types)
जावास्क्रिप्ट में विभिन्न प्रकार के डेटा प्रकार होते हैं, जैसे:
- String:
"Hello, World!"
- Number:
42
- Boolean:
true
,false
- Object:
{ name: "John", age: 30 }
- Array:
[1, 2, 3, 4, 5]
- Null:
null
- Undefined:
undefined
3. फंक्शंस (Functions)
फंक्शंस जावास्क्रिप्ट में कोड ब्लॉक्स होते हैं जो एक विशिष्ट कार्य करते हैं। फंक्शंस को दो तरीकों से घोषित किया जा सकता है: फंक्शन डिक्लेरेशन और फंक्शन एक्सप्रेशन।
// Function Declaration function greet(name) { return "Hello, " + name + "!"; } // Function Expression const greet = function(name) { return "Hello, " + name + "!"; };
4. एरो फंक्शंस (Arrow Functions)
एरो फंक्शंस जावास्क्रिप्ट ES6 में पेश किए गए थे और ये फंक्शन एक्सप्रेशंस के लिए एक संक्षिप्त सिंटैक्स प्रदान करते हैं।
const greet = (name) => { return "Hello, " + name + "!"; }; // Shorter syntax for single-line function const greet = name => "Hello, " + name + "!";
5. ऑब्जेक्ट्स (Objects)
ऑब्जेक्ट्स जावास्क्रिप्ट में एक प्रमुख डेटा संरचना हैं जो प्रॉपर्टीज (की-वैल्यू पेयर्स) को स्टोर करती हैं।
const person = { name: "John", age: 30, greet: function() { return "Hello, " + this.name + "!"; } };
6. एरेज़ (Arrays)
एरेज़ जावास्क्रिप्ट में ऑर्डर्ड लिस्ट्स होती हैं जो विभिन्न प्रकार के डेटा को स्टोर कर सकती हैं।
const numbers = [1, 2, 3, 4, 5]; console.log(numbers[0]); // Output: 1
7. लूप्स (Loops)
लूप्स का उपयोग कोड ब्लॉक्स को कई बार निष्पादित करने के लिए किया जाता है। जावास्क्रिप्ट में सामान्य लूप्स हैं for
, while
, और do...while
लूप्स।
// For loop for (let i = 0; i < 5; i++) { console.log(i); } // While loop let i = 0; while (i < 5) { console.log(i); i++; }
8. कंडीशनल स्टेटमेंट्स (Conditional Statements)
कंडीशनल स्टेटमेंट्स का उपयोग विभिन्न स्थितियों के आधार पर कोड ब्लॉक्स को निष्पादित करने के लिए किया जाता है।
const age = 18; if (age >= 18) { console.log("You are an adult."); } else { console.log("You are a minor."); }
9. प्रॉमिसेस (Promises)
प्रॉमिसेस जावास्क्रिप्ट में एसिंक्रोनस ऑपरेशंस को मैनेज करने का एक तरीका हैं। एक प्रॉमिस एक ऐसा ऑब्जेक्ट है जो भविष्य में एक वैल्यू प्रदान करेगा।
const promise = new Promise((resolve, reject) => { // Async operation if (success) { resolve("Operation successful!"); } else { reject("Operation failed."); } }); promise.then(result => { console.log(result); }).catch(error => { console.error(error); });
इन बुनियादी जावास्क्रिप्ट अवधारणाओं को पुनः समझने से, आप Node.js के साथ अधिक आत्मविश्वास से काम कर पाएंगे। एक आप हमारा जावास्क्रिप्ट का पूरा हिंदी ट्यूटोरियल यहाँ पढ़ सकते हैं। अगले सेक्शन में, हम Node.js REPL का परिचय देंगे और देखेंगे कि यह आपके डेवलपमेंट अनुभव को कैसे बढ़ा सकता है।
Node.js REPL (Read-Eval-Print Loop) का परिचय (Introduction to the Node.js REPL)
Node.js REPL (Read-Eval-Print Loop) एक इंटरैक्टिव शेल है जो आपको जावास्क्रिप्ट कोड को सीधे टाइप और निष्पादित करने की अनुमति देता है। यह डेवलपर्स के लिए एक शक्तिशाली टूल है, क्योंकि यह कोड के त्वरित परीक्षण और प्रयोग की सुविधा प्रदान करता है। आइए हम Node.js REPL का परिचय प्राप्त करें और इसे उपयोग करने का तरीका जानें।
1. REPL क्या है? (What is REPL?)
REPL का मतलब है Read-Eval-Print Loop:
- Read: यूजर द्वारा इनपुट किए गए जावास्क्रिप्ट कोड को पढ़ता है।
- Eval: कोड को जावास्क्रिप्ट इंजन द्वारा निष्पादित करता है।
- Print: परिणाम को कंसोल में प्रिंट करता है।
- Loop: इस प्रक्रिया को दोहराता रहता है जब तक कि यूजर इसे बंद नहीं करता।
2. REPL शुरू करना (Starting the REPL)
Node.js REPL शुरू करना बहुत आसान है। टर्मिनल या कमांड प्रॉम्प्ट खोलें और node
कमांड टाइप करें:
node
इससे Node.js REPL शुरू हो जाएगा और आपको एक >
प्रॉम्प्ट दिखाई देगा, जो संकेत देगा कि आप कोड टाइप कर सकते हैं।
3. REPL में कोड निष्पादित करना (Executing Code in REPL)
Node.js REPL में, आप सीधे जावास्क्रिप्ट कोड टाइप कर सकते हैं और तुरंत उसका परिणाम देख सकते हैं। उदाहरण के लिए:
> console.log("Hello, Node.js!"); Hello, Node.js!
यहां console.log()
फंक्शन का उपयोग करके एक संदेश प्रिंट किया गया है। REPL तुरंत परिणाम दिखाता है।
4. गणितीय गणनाएँ (Mathematical Calculations)
REPL का उपयोग सरल गणितीय गणनाएँ करने के लिए भी किया जा सकता है:
> 5 + 5 10 > Math.sqrt(16) 4
5. वेरिएबल्स और फंक्शंस (Variables and Functions)
आप REPL में वेरिएबल्स और फंक्शंस भी घोषित कर सकते हैं:
> let name = "John"; > console.log(name); John > function greet(name) { ... return "Hello, " + name + "!"; ... } > greet("Node.js"); 'Hello, Node.js!'
6. मल्टी-लाइन कोड (Multi-Line Code)
REPL मल्टी-लाइन कोड को भी सपोर्ट करता है। यदि आप {
या (
जैसे प्रतीक का उपयोग करते हैं, तो REPL आपको संकेत देगा कि आप अगली लाइन पर जारी रख सकते हैं:
> if (true) { ... console.log("This is true"); ... } This is true
7. REPL कमांड्स (REPL Commands)
REPL कुछ विशेष कमांड्स भी प्रदान करता है जो उपयोगी हो सकते हैं:
.help
: सभी उपलब्ध कमांड्स को सूचीबद्ध करता है।.break
: मल्टी-लाइन इनपुट को रद्द करता है।.clear
: सभी वेरिएबल्स को क्लियर करता है और ग्लोबल स्कोप को रीसेट करता है।.exit
: REPL को छोड़ देता है।
8. REPL को छोड़ना (Exiting the REPL)
REPL को छोड़ने के लिए, आप .exit
कमांड का उपयोग कर सकते हैं या Ctrl + C
दो बार दबा सकते हैं:
> .exit
Node.js REPL एक बहुत ही उपयोगी टूल है जो आपको कोड को त्वरित रूप से परीक्षण और डिबग करने की अनुमति देता है। इसका उपयोग करते समय, आप Node.js और जावास्क्रिप्ट की गहरी समझ प्राप्त कर सकते हैं। अगले सेक्शन में, हम Node.js मॉड्यूल्स और require()
फंक्शन के बारे में जानेंगे।
मॉड्यूल और require()
को समझना (Understanding Modules and require()
)
Node.js का मॉड्यूल सिस्टम इसे शक्तिशाली और लचीला बनाता है, जिससे डेवलपर्स छोटे, पुन: प्रयोज्य कोड ब्लॉक्स में कोड लिख सकते हैं। मॉड्यूल्स का उपयोग करके आप अपने एप्लिकेशन के विभिन्न हिस्सों को अलग-अलग फाइलों में संगठित कर सकते हैं और उन्हें आवश्यकतानुसार इंपोर्ट कर सकते हैं। इस सेक्शन में, हम Node.js के मॉड्यूल सिस्टम और require()
फंक्शन को समझेंगे।
1. मॉड्यूल्स क्या हैं? (What are Modules?)
मॉड्यूल्स स्वतंत्र कोड ब्लॉक्स होते हैं जिन्हें अलग-अलग फाइलों में संगठित किया जाता है। प्रत्येक फाइल एक मॉड्यूल है और इसमें अपना स्कोप होता है। यह सुनिश्चित करता है कि एक मॉड्यूल का कोड दूसरे मॉड्यूल के कोड से टकराए नहीं।
2. मॉड्यूल्स को निर्यात करना (Exporting Modules)
Node.js में, आप किसी भी फंक्शन, ऑब्जेक्ट, या वैल्यू को module.exports
का उपयोग करके निर्यात कर सकते हैं ताकि इसे दूसरे मॉड्यूल्स में उपयोग किया जा सके। उदाहरण के लिए:
// math.js function add(a, b) { return a + b; } module.exports = add;
यहाँ add
फंक्शन को module.exports
का उपयोग करके निर्यात किया गया है।
3. मॉड्यूल्स को इंपोर्ट करना (Importing Modules)
require()
फंक्शन का उपयोग करके आप किसी भी मॉड्यूल को अपने कोड में इंपोर्ट कर सकते हैं। उदाहरण के लिए:
// app.js const add = require('./math'); const sum = add(5, 3); console.log(sum); // Output: 8
यहाँ require()
फंक्शन का उपयोग करके math.js
मॉड्यूल को इंपोर्ट किया गया है और add
फंक्शन का उपयोग किया गया है।
4. बिल्ट-इन मॉड्यूल्स (Built-in Modules)
Node.js कई बिल्ट-इन मॉड्यूल्स के साथ आता है जो विभिन्न प्रकार की कार्यक्षमताओं को प्रदान करते हैं, जैसे फाइल सिस्टम, HTTP, पैथ, और बहुत कुछ। कुछ सामान्य बिल्ट-इन मॉड्यूल्स का उपयोग कैसे करें, यह यहाँ दिखाया गया है:
// File System Module const fs = require('fs'); // Reading a file fs.readFile('example.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data); });
5. npm (Node Package Manager) का उपयोग करना (Using npm)
npm (Node Package Manager) Node.js का पैकेज मैनेजर है जो हजारों ओपन-सोर्स पैकेजेज़ तक पहुंच प्रदान करता है। आप npm का उपयोग करके नए पैकेज इंस्टॉल कर सकते हैं, मौजूदा पैकेज को अपडेट कर सकते हैं और अपने स्वयं के पैकेज प्रकाशित कर सकते हैं।
// Express.js इंस्टॉल करना npm install express
इंस्टॉल करने के बाद, आप require()
फंक्शन का उपयोग करके इस पैकेज को इंपोर्ट कर सकते हैं:
// app.js const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, Express!'); }); app.listen(3000, () => { console.log('Server is running on port 3000'); });
6. लोकल और ग्लोबल मॉड्यूल्स (Local and Global Modules)
- लोकल मॉड्यूल्स: ये वे मॉड्यूल्स हैं जिन्हें आप अपने प्रोजेक्ट डायरेक्टरी में बनाते हैं और उपयोग करते हैं।
- ग्लोबल मॉड्यूल्स: ये वे मॉड्यूल्स हैं जिन्हें npm का उपयोग करके ग्लोबल स्तर पर इंस्टॉल किया जाता है और सिस्टम में कहीं से भी उपयोग किया जा सकता है।
// लोकल मॉड्यूल इंस्टॉल करना npm install <package-name> // ग्लोबल मॉड्यूल इंस्टॉल करना npm install -g <package-name>
Node.js का मॉड्यूल सिस्टम आपके कोड को बेहतर तरीके से व्यवस्थित और प्रबंधित करने में मदद करता है। require()
फंक्शन और npm का उपयोग करके आप अपने एप्लिकेशन में विभिन्न मॉड्यूल्स और पैकेजेज़ को जोड़ सकते हैं, जिससे विकास प्रक्रिया सरल और कुशल हो जाती है। अगले सेक्शन में, हम Node.js के फाइल सिस्टम मॉड्यूल के बारे में जानेंगे और देखेंगे कि यह कैसे काम करता है।