तो यह "आवश्यकता" क्या है?
require()
मानक जावास्क्रिप्ट एपीआई का हिस्सा नहीं है। लेकिन Node.js में, यह एक विशेष उद्देश्य के साथ एक अंतर्निहित कार्य है:मॉड्यूल लोड करने के लिए।
मॉड्यूल आपके सभी एप्लिकेशन को एक फ़ाइल में रखने के बजाय किसी एप्लिकेशन को अलग-अलग फ़ाइलों में विभाजित करने का एक तरीका है। यह अवधारणा अन्य भाषाओं में भी मौजूद है, जिसमें वाक्य रचना और व्यवहार में मामूली अंतर है, जैसे C का include
, पायथन का import
, और इसी तरह।
Node.js मॉड्यूल और ब्राउज़र JavaScript के बीच एक बड़ा अंतर यह है कि एक स्क्रिप्ट के कोड को दूसरी स्क्रिप्ट के कोड से कैसे एक्सेस किया जाता है।
-
ब्राउज़र जावास्क्रिप्ट में, स्क्रिप्ट को
<script>
. के माध्यम से जोड़ा जाता है तत्व। जब वे निष्पादित करते हैं, तो उन सभी के पास वैश्विक दायरे तक सीधी पहुंच होती है, सभी लिपियों के बीच एक "साझा स्थान"। कोई भी स्क्रिप्ट वैश्विक दायरे में कुछ भी स्वतंत्र रूप से परिभाषित/संशोधित/हटा/कॉल कर सकती है। -
Node.js में, प्रत्येक मॉड्यूल का अपना दायरा होता है। एक मॉड्यूल दूसरे मॉड्यूल में परिभाषित चीजों तक सीधे पहुंच नहीं सकता है जब तक कि वह उन्हें बेनकाब करने का विकल्प नहीं चुनता। मॉड्यूल से चीजों को उजागर करने के लिए, उन्हें
exports
. को सौंपा जाना चाहिए याmodule.exports
. एक मॉड्यूल के लिए दूसरे मॉड्यूल केexports
तक पहुंचने के लिए याmodule.exports
, इसेrequire()
use का उपयोग करना चाहिए ।
आपके कोड में, var pg = require('pg');
लोड करता है pg
मॉड्यूल, Node.js के लिए एक PostgreSQL क्लाइंट। यह आपके कोड को pg
. के माध्यम से PostgreSQL क्लाइंट के API की कार्यक्षमता तक पहुंचने देता है चर।
यह नोड में क्यों काम करता है लेकिन वेबपेज में नहीं?
require()
, module.exports
और exports
एक मॉड्यूल सिस्टम के एपीआई हैं जो Node.js के लिए विशिष्ट है। ब्राउज़र इस मॉड्यूल सिस्टम को लागू नहीं करते हैं।
इसके अलावा, इससे पहले कि मैं इसे नोड में काम करता, मुझे npm install pg
करना पड़ता था . वह किस बारे में है?
एनपीएम एक पैकेज रिपॉजिटरी सेवा है जो प्रकाशित जावास्क्रिप्ट मॉड्यूल को होस्ट करती है। npm install
एक कमांड है जो आपको उनके रिपॉजिटरी से पैकेज डाउनलोड करने देता है।
इसने इसे कहाँ रखा है, और Javascript इसे कैसे ढूँढता है?
npm cli सभी डाउनलोड किए गए मॉड्यूल को node_modules
. में रखता है निर्देशिका जहाँ आपने npm install
चलाया था . Node.js के पास इस बारे में बहुत विस्तृत दस्तावेज हैं कि मॉड्यूल अन्य मॉड्यूल कैसे ढूंढते हैं जिसमें node_modules
खोजना शामिल है। निर्देशिका।