Kodokon kodokon.com

ES मॉड्यूल और npm: अपनी परियोजना को व्यवस्थित करना

आप किसी Node परियोजना को package.json, ES मॉड्यूल, npm निर्भरताओं और स्क्रिप्ट्स के साथ संरचित करते हैं।

9 मिनट · 3 प्रश्न

इस पाठ को Kodokon में खोलें

एक वास्तविक परियोजना एक ही फ़ाइल में नहीं समाती: आप इसे मॉड्यूल में बाँटते हैं, ऐसी फ़ाइलें जो अपनी पेशकश को export करती हैं और अपनी ज़रूरत की चीज़ें import करती हैं। आप JavaScript ट्रैक से import / export सिंटैक्स पहले से जानते हैं; आइए देखें कि Node इसे कैसे सक्षम करता है। यह सब package.json से शुरू होता है, आपकी परियोजना का पहचान पत्र: JSON प्रारूप की एक फ़ाइल जो इसके नाम, इसके संस्करण और इसकी सेटिंग्स का वर्णन करती है। इसे बनाने के लिए, किसी खाली फ़ोल्डर में जाएँ और npm init -y चलाएँ (-y विकल्प सभी डिफ़ॉल्ट उत्तरों को स्वीकार करता है)। फिर "type": "module" लाइन जोड़ें: यह Node को बताता है कि आपकी .js फ़ाइलें ES मॉड्यूल का उपयोग करती हैं।

JSON
{
  "name": "my-project",
  "version": "1.0.0",
  "type": "module",
  "scripts": {
    "start": "node main.js",
    "dev": "node --watch main.js"
  }
}
npm init -y के बाद आपकी package.json, type लाइन और दो स्क्रिप्ट्स के साथ पूरी की गई जिन्हें हम नीचे उपयोग करेंगे।

आइए इस फ़ोल्डर में दो फ़ाइलें बनाएँ: math.js एक फ़ंक्शन को export करता है, main.js उसे import करता है। Node की एक ख़ास बात: किसी स्थानीय फ़ाइल को import करना ./ से शुरू होना चाहिए और .js एक्सटेंशन पर समाप्त होना चाहिए। दोनों आवश्यक हैं, कुछ वेब टूल जो सहन कर लेते हैं उसके विपरीत।

JAVASCRIPT
// math.js
export function add(a, b) {
  return a + b;
}

// main.js
import { add } from "./math.js";

console.log(add(2, 3));
दो अलग-अलग फ़ाइलें। node main.js चलाएँ: परिणाम 5 दिखाई देता है।

npm की बड़ी ताकत इसकी पैकेजों की विश्वव्यापी लाइब्रेरी है: दूसरों द्वारा लिखा गया कोड, उपयोग के लिए तैयार। npm install कमांड किसी पैकेज को आपकी परियोजना के node_modules फ़ोल्डर में डाउनलोड करता है और उसे package.json के dependencies खंड में जोड़ता है: उन पैकेजों की सूची जिनकी आपकी परियोजना को काम करने के लिए ज़रूरत है। स्वचालित रूप से बनाई गई एक package-lock.json फ़ाइल, इंस्टॉल किए गए सटीक संस्करणों को दर्ज करती है, ताकि हर किसी को एक ही चीज़ मिले। आइए chalk के साथ प्रयास करें, एक पैकेज जो टर्मिनल में दिखाए गए टेक्स्ट को रंग देता है।

BASH
npm install chalk
इस कमांड के बाद, chalk dependencies में और node_modules में दिखाई देता है; फिर आप इसे किसी भी मॉड्यूल की तरह import कर सकते हैं।

एक आख़िरी स्तंभ: npm स्क्रिप्ट्स, package.json के scripts खंड में घोषित कमांड शॉर्टकट। npm run dev dev नाम के तहत सहेजे गए कमांड को चलाता है, भले ही असली कमांड कितना भी लंबा क्यों न हो। हमारी dev स्क्रिप्ट node --watch का उपयोग करती है, एक विकल्प जो हर बार किसी फ़ाइल के बदलने पर प्रोग्राम को स्वचालित रूप से पुनः आरंभ करता है: विकास के दौरान बहुत सुविधाजनक।

BASH
npm run start
npm run dev
हर कमांड उसी नाम की स्क्रिप्ट चलाता है। Ctrl+C से watch मोड रोकें।

ज्ञान जांच

सुनिश्चित करें कि आपको इस पाठ के मुख्य बिंदु याद हैं।

  1. package.json फ़ाइल की भूमिका क्या है?
    • परियोजना का वर्णन करना: नाम, संस्करण, स्क्रिप्ट्स और निर्भरताएँ
    • परियोजना का मुख्य JavaScript कोड रखना
    • डाउनलोड किए गए पैकेजों का कोड संग्रहीत करना
    • node_modules फ़ोल्डर की जगह लेना
  2. जब आप npm install chalk चलाते हैं तो क्या होता है?
    • chalk सीधे आपकी main.js फ़ाइल में कॉपी हो जाता है
    • chalk केवल डाउनलोड होता है, बिना कोई निशान छोड़े
    • chalk node_modules में रखा जाता है और dependencies में जोड़ा जाता है
  3. package.json में type module लाइन क्यों जोड़ें?
    • ताकि npm पैकेजों को तेज़ी से इंस्टॉल करे
    • ताकि Node .js फ़ाइलों को ES मॉड्यूल (import/export) के रूप में पढ़े
    • परियोजना को स्वचालित रूप से npm पर प्रकाशित करने के लिए