"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > नोडज क्या है

नोडज क्या है

2024-08-01 को प्रकाशित
ब्राउज़ करें:486

What is Nodejs

नोडज एक जावास्क्रिप्ट रनटाइम है। इसका मतलब है कि नोडज एक प्रोग्राम है जो आपको ब्राउज़र के बाहर जावास्क्रिप्ट चलाने की अनुमति देता है। परिणामस्वरूप, कोई नोडज का उपयोग करके बैकएंड एप्लिकेशन विकसित कर सकता है। अब, यह बैकएंड तक सीमित नहीं है। हम कुछ का उल्लेख करने के लिए डेस्कटॉप एप्लिकेशन, IoTs और क्लाउड एप्लिकेशन बना सकते हैं। नोडज क्रॉस-प्लेटफ़ॉर्म है। प्रोग्राम स्वयं Linux, Windows और macOS चलाता है।

किसी को Nodejs का उपयोग क्यों करना चाहिए?

नोडज कुछ फायदे के साथ आता है और इनमें ये शामिल हैं, लेकिन इन तक सीमित नहीं हैं:

  • नॉन-ब्लॉकिंग I/O
  • एसिंक्रोनस
  • मापनीय
  • इवेंट-ड्राइविंग
  • कम विलंबता है
  • थ्रेडिंग है
  • हर जगह, कहीं भी इस्तेमाल किया जा सकता है
  • एक बड़ा समुदाय है

जैसा कि कहा जाता है, तत्काल रिटर्न का मतलब दीर्घकालिक असुविधाएं हैं। यहां नकारात्मक पक्ष जावास्क्रिप्ट है (वैसे मुझे जावास्क्रिप्ट पसंद है) और कभी-कभी उस सिस्टम को डिज़ाइन नहीं करना जिसे आप स्केलिंग को ध्यान में रखकर बनाना चाहते हैं। फिर, यह Nodejs नहीं बल्कि उपकरण और मनुष्य हैं जो Nodejs का उपयोग करते हैं।

आप यहां नोडज के बारे में अधिक पढ़ सकते हैं

इंस्टालेशन

नोडज के लोग स्मार्ट हैं, इसका सम्मान करें। उन्होंने आपके और मेरे लिए इंस्टॉलेशन को आसान बना दिया है। बिना तकनीकी ज्ञान वाले लोग Nodejs सेट कर सकते हैं और कुछ कोड लिखना शुरू कर सकते हैं। उन्होंने ऐसे विकल्प उपलब्ध कराए हैं जिनका कोई भी उपयोग कर सकता है:

  • एक पैकेज मैनेजर
  • एक पूर्व-निर्मित इंस्टॉलर
  • एक पूर्व-निर्मित बाइनरी
  • और स्रोत कोड का निर्माण करके स्थापना

इनमें से पहले तीन दोस्ताना हैं। तो इनमें से कोई भी चुनें. आइए डाउनलोड-नोडज और "लेट देयर ए नोडज" की ओर चलें।

इस समय, वर्तमान नोड संस्करण 22 है और एलटीएस (दीर्घकालिक समर्थन है) 20 है।

मैं लिनक्स मशीन पर हूं, इसलिए मैं एनवीएम (नोड वर्जन मैनेजर) के साथ इंस्टॉलेशन करूंगा। इससे हमें यह समझ आती है कि हमारे पास नोडज के कई संस्करण हो सकते हैं। यह macOS के लिए भी आउट ऑफ द बॉक्स काम करेगा।

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# download and install Node.js (you may need to restart the terminal)
nvm install 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

यह नोडज प्लेटफॉर्म (वेबसाइट) पर वही स्क्रिप्ट है। इसलिए जब आप ये कमांड चलाते हैं तो कोई समस्या नहीं होनी चाहिए।

विंडोज़ के लिए, कुछ ऐसा ही होगा

# installs fnm (Fast Node Manager)
winget install Schniz.fnm

# download and install Node.js
fnm use --install-if-missing 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

या बस प्री-बिल्ट इंस्टॉल, नोड-प्रीबिल्ट-इंस्टॉलर डाउनलोड करें। दिन के अंत में, आपको अपने इंस्टॉलेशन को सत्यापित करने के लिए अंतिम दो कमांड चलाने में सक्षम होना चाहिए।

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

एनवीएम

एनवीएम इंस्टॉलेशन के दौरान विंडोज़ के लिए एक विकल्प नहीं था, लेकिन इसे यहां इंस्टॉल किया जा सकता है, और इसके बारे में थोड़ा जानना शैक्षिक होगा।

हम कमांड, एनवीएम सूची का उपयोग करके हमारे पास मौजूद नोडज के सभी अन्य संस्करणों को सूचीबद्ध करते हैं

username@computer-name:~$ nvm list
->     v18.18.0
default -> 18.18.0 (-> v18.18.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.18.0) (default)
stable -> 18.18 (-> v18.18.0) (default)
lts/* -> lts/hydrogen (-> v18.18.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0

उपरोक्त से, हम बता सकते हैं कि v18.18.0 वह नोडज है जिसे मैं चला रहा हूं।

हम एनवीएम इंस्टॉल 20 का उपयोग करके 20 एलटीएस जैसे कुछ अन्य संस्करण स्थापित कर सकते हैं

username@computer-name:~$ nvm install 20
Downloading and installing node v20.15.1...
Downloading https://nodejs.org/dist/v20.15.1/node-v20.15.1-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.15.1 (npm v10.7.0)

यह स्वचालित रूप से v20.15.1 पर स्विच हो गया। जो कि नवीनतम एलटीएस है।

अब मैं एनवीएम उपयोग 18 द्वारा हमारे वांछित नोड संस्करण पर स्विच कर सकता हूं

username@computer-name:~$ nvm use 18
Now using node v18.18.0 (npm v10.8.2)
username@computer-name:~$
username@computer-name:~$ node -v
v18.18.0

और यह एनवीएम पर होगा

NPM

npm एक नोड पैकेज मैनेजर है। यदि आप सोच रहे हैं कि पैकेज क्या है, तो तनाव न लें। एक पैकेज एक लाइब्रेरी के समान है। किसी अन्य व्यक्ति द्वारा लिखे गए कुछ कोड स्निपेट या प्रोग्राम का उपयोग हमारे प्रोग्राम में कुछ करने के लिए किया जा सकता है। तो एक पैकेज किसी समस्या आदि को हल करने के लिए होता है। एनपीएम और अन्य नोड पैकेज मैनेजर जैसे यार्न, पीएनपीएम, बन और अन्य हमें हमारे प्रोजेक्ट के लिए इंस्टॉल किए गए पैकेजों को प्रबंधित करने में मदद करते हैं। हम यहां पूरी तरह से एनपीएम पर ध्यान केंद्रित करेंगे।

नोडज प्रोजेक्ट शुरू करने के लिए (केवल जावास्क्रिप्ट नहीं), हमें नोड पैकेज का उपयोग करने की आवश्यकता है। मेरा मतलब है, ऐसे समय होते हैं जब हम तीसरे पक्ष के पुस्तकालयों (ऐसे प्रोग्राम जो हमने नहीं लिखे और न ही नोडज के साथ आए) पर भरोसा किए बिना एक संपूर्ण कार्यक्रम विकसित करते हैं।

हम npm init कमांड के साथ एक नोड package.json फ़ाइल बनाकर एक नोडज एप्लिकेशन बना सकते हैं। npm init के बारे में अधिक पढ़ने के लिए npm init --help करें। आमतौर पर किसी नोड प्रोग्राम को नए वातावरण (फ़ोल्डर) में शुरू करना बेहतर होता है। तो हम एक बनाएंगे और उसका नाम हेलोवर्ल्ड रखेंगे। मैं टर्मिनल का उपयोग करूंगा।

username@computer-name:~$ mkdir helloworld
username@computer-name:~$ cd helloworld/
username@computer-name:~/helloworld$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (helloworld) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/username/helloworld/package.json:

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Is this OK? (yes) 

username@computer-name:~/helloworld$ 
  • मैंने mkdir helloworld नामक एक फ़ोल्डर बनाया
  • मैं हेलोवर्ल्ड फ़ोल्डर, सीडी हेलोवर्ल्ड में बदल गया
  • फिर मैं नोड, एनपीएम इनिट प्रारंभ करता हूं

यह एक इंस्टॉलेशन विज़ार्ड की तरह होगा, जो आपको कॉन्फ़िगरेशन चरणों के बारे में बताएगा। ध्यान दें कि आप इसे बाद में अपडेट कर सकते हैं. आपको बस तब तक हिट करना है, ENTER, ENTER करना है जब तक कि पूरी प्रक्रिया समाप्त न हो जाए। जब आप फ़ाइल एक्सप्लोरर में हेलोवर्ल्ड फ़ोल्डर खोलते हैं, तो आपको एक नई फ़ाइल, package.json दिखाई देगी, जिसकी सामग्री उपरोक्त आउटपुट के समान होगी।

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

यह कॉन्फ़िगरेशन सहज है। यह आपको उस प्रोजेक्ट (या प्रोग्राम) का नाम बताता है जिसे हम बनाने जा रहे हैं। यह प्रोजेक्ट नाम के रूप में मूल फ़ोल्डर नाम का उपयोग करता है। नोड (प्रोजेक्ट) आरंभीकरण प्रक्रिया के दौरान, हम इसे एक नाम दे सकते थे और यहां तक ​​कि अन्य फ़ील्ड को मान भी प्रदान कर सकते थे। यहीं पर हम ENTER, ENTER, …

दबा रहे थे

एंटर, एंटर, ... दबाए बिना इसे चलाने का दूसरा तरीका है, एनपीएम इनिट -वाई। -y, माध्य, हाँ, डिफ़ॉल्ट मानों का उपयोग करें।

मुख्य रूप से, नोड पैकेज npmjs.com पर हैं। मान लीजिए कि हम एक्सप्रेसजेएस लाइब्रेरी स्थापित करना चाहते हैं। npmjs पर एक्सप्रेस को इस प्रकार खोजें। डॉक्स आपको बताएंगे कि कमांड, एनपीएम आई एक्सप्रेस का उपयोग करके इसे कैसे इंस्टॉल करें।

username@computer-name:~/helloworld$ npm i express

added 64 packages, and audited 65 packages in 4s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

मेरा मतलब है इंस्टॉल करें। आप इसे npm इंस्टाल एक्सप्रेस के रूप में लिखें। पैकेज.जेसन को जोड़े गए पैकेज के साथ अपडेट किया जाएगा।

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.19.2"
 }
}

अब, हमारे पास एक नई निर्भरता है।

ध्यान दें कि कोई फ़ाइल या फ़ोल्डर नहीं बनाया जाएगा। जब हम ls
करते हैं

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • हमारे पास नोड_मॉड्यूल हैं, जो एक फ़ोल्डर है जो हमारे प्रोग्राम द्वारा उपयोग की जाने वाली निर्भरता (पैकेज) को रखता है।
  • हमारे पास package-lock.json भी है, जो लॉकफ़ाइल के रूप में कार्य करता है, इसलिए यह नाम है। यह उस पैकेज के सटीक संस्करणों को कैप्चर करता है जिन्हें हम इंस्टॉल करते हैं और अपने प्रोग्राम बनाने के लिए उपयोग करते हैं। इस तरह, एक ही पैकेज और उनके विशिष्ट संस्करणों का हर समय उपयोग किया जा सकता है क्योंकि एक ही पैकेज के विभिन्न संस्करण अलग-अलग व्यवहार कर सकते हैं।

वैसे भी, हम पैकेजों को तीन तरीकों से या बल्कि पर्यावरण में स्थापित कर सकते हैं। यह मूल रूप से वह जगह है जहां आप पैकेज का उपयोग करना चाहते हैं।

  • वैश्विक: यह आपके पास मौजूद सभी नोड प्रोग्रामों के लिए पहुंच योग्य होगा। आम तौर पर, जब वे कमांड लाइन यूटिलिटीज जैसे सामान्य प्रयोजन प्रोग्राम होते हैं तो वैश्विक स्तर पर पैकेज इंस्टॉल करते हैं।
  • विकास: यह केवल विकास के लिए है और कुछ दूरस्थ सर्वरों पर इसका उपयोग नहीं किया जाता है क्योंकि दूरस्थ सर्वर के पास उस निर्भरता के उपयोग के मामले को संभालने का अपना तरीका होगा। ये आमतौर पर उपयोगिता पुस्तकालय होते हैं जो किसी उद्देश्य को प्राप्त करने के लिए अन्य पुस्तकालयों के साथ काम करते हैं। इनमें एस्लिंट, प्रीटियर, डोटेनव आदि शामिल हो सकते हैं, लेकिन इन्हीं तक सीमित नहीं हैं।
  • उत्पादन: यह एक पैकेज है जिस पर हमारा एप्लिकेशन मुख्य रूप से कार्य करने के लिए निर्भर करता है। एक्सप्रेस की तरह।

हम क्या कर सकते हैं,

  • npm i -g package-names ... विश्व स्तर पर एक पैकेज स्थापित करने के लिए
  • npm i--वैश्विक पैकेज-नाम ... विश्व स्तर पर एक पैकेज स्थापित करने के लिए
  • npm i -S पैकेज-नाम ... एक पैकेज स्थापित करने के लिए (उत्पादन के लिए)
  • npm i -- पैकेज-नाम सहेजें ... एक पैकेज स्थापित करने के लिए (उत्पादन के लिए)
  • एनपीएम आई -डी पैकेज-नाम ... एक पैकेज स्थापित करने के लिए (विकास के लिए, आपको हमारे एप्लिकेशन को चलाने के लिए इसकी आवश्यकता नहीं होगी)
  • npm i --save-dev package-names ... एक पैकेज स्थापित करने के लिए (विकास के लिए, आपको हमारे एप्लिकेशन को चलाने के लिए इसकी आवश्यकता नहीं होगी)
  • npm पैकेज-नामों को अनइंस्टॉल करें... पैकेज को हटाने या अनइंस्टॉल करने के लिए

अनिवार्य रूप से यह वह सब है जिसकी हमें अपने पैकेजों को प्रबंधित करने के लिए आवश्यकता होगी।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/otumianempire/what-is-nodejs-4h10?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3