Node.js
नोड.जेएस में मॉड्यूल का निर्यात और आयात करना
खोज…
नोड में एक सरल मॉड्यूल का उपयोग करना। js
एक नोड .js मॉड्यूल क्या है ( लेख का लिंक ):
एक मॉड्यूल कोड की एक इकाई में संबंधित कोड को एनकोड करता है। मॉड्यूल बनाते समय, इसे सभी संबंधित कार्यों को एक फ़ाइल में स्थानांतरित करने के रूप में व्याख्या किया जा सकता है।
अब एक उदाहरण देखते हैं। कल्पना कीजिए कि सभी फाइलें एक ही निर्देशिका में हैं:
फ़ाइल: printer.js
"use strict";
exports.printHelloWorld = function (){
console.log("Hello World!!!");
}
मॉड्यूल का उपयोग करने का दूसरा तरीका:
फ़ाइल animals.js
"use strict";
module.exports = {
lion: function() {
console.log("ROAARR!!!");
}
};
फाइल: app.js
इस फ़ाइल को अपनी निर्देशिका में जाकर टाइप करें: node app.js
"use strict";
//require('./path/to/module.js') node which module to load
var printer = require('./printer');
var animals = require('./animals');
printer.printHelloWorld(); //prints "Hello World!!!"
animals.lion(); //prints "ROAARR!!!"
ES6 में आयात का उपयोग करना
Node.js को V8 के आधुनिक संस्करणों के खिलाफ बनाया गया है। इस इंजन के नवीनतम रिलीज के साथ अद्यतित रहने से, हम सुनिश्चित करते हैं कि जावास्क्रिप्ट ECMA-262 विनिर्देश से नई सुविधाओं को समयबद्ध तरीके से Node.js डेवलपर्स में लाया जाए, साथ ही साथ निरंतर प्रदर्शन और स्थिरता में सुधार हो।
सभी ECMAScript 2015 (ES6) सुविधाओं को शिपिंग, मंचन और प्रगति सुविधाओं के लिए तीन समूहों में विभाजित किया गया है:
सभी शिपिंग सुविधाएँ, जिसे V8 स्थिर मानता है, को Node.js पर डिफ़ॉल्ट रूप से चालू किया जाता है और किसी भी प्रकार के रनटाइम ध्वज की आवश्यकता नहीं होती है। मंचित विशेषताएं, जो लगभग पूरी हो चुकी विशेषताएं हैं जिन्हें V8 टीम द्वारा स्थिर नहीं माना जाता है, उन्हें एक रनवे ध्वज की आवश्यकता होती है: - धार्मिकता। प्रगति की विशेषताओं में उनके संबंधित सद्भाव ध्वज द्वारा व्यक्तिगत रूप से सक्रिय किया जा सकता है, हालांकि परीक्षण उद्देश्यों के लिए यह बहुत हतोत्साहित किया जाता है। नोट: ये झंडे V8 द्वारा उजागर किए गए हैं और संभावित रूप से बिना किसी अपक्षय सूचना के बदल जाएंगे।
वर्तमान में ES6 यहाँ मूल रूप से आयात कथन का समर्थन करता है
इसलिए यदि हमारे पास fun.js
नामक एक फाइल है ...
export default function say(what){
console.log(what);
}
export function sayLoud(whoot) {
say(whoot.toUpperCase());
}
… और अगर कोई अन्य फ़ाइल होती है जिसका नाम app.js
जहां हम अपने पहले से परिभाषित कार्यों को उपयोग में app.js
चाहते हैं, तो उन्हें आयात करने के तीन तरीके हैं।
डिफ़ॉल्ट आयात करें
import say from './fun';
say('Hello Stack Overflow!!'); // Output: Hello Stack Overflow!!
आयात say()
फ़ंक्शन को आयात करता है क्योंकि इसे स्रोत फ़ाइल में डिफ़ॉल्ट निर्यात के रूप में चिह्नित किया जाता है ( export default …
)
नामांकित आयात
import { sayLoud } from './fun';
sayLoud('JS modules are awesome.'); // Output: JS MODULES ARE AWESOME.
नामित आयात हमें एक मॉड्यूल के उन हिस्सों को आयात करने की अनुमति देता है जिनकी हमें वास्तव में आवश्यकता होती है। हम स्पष्ट रूप से उनका नामकरण करके ऐसा करते हैं। आयात स्थिति के भीतर घुंघराले कोष्ठक में sayLoud
कि नामकरण द्वारा हमारे मामले में।
आयात आयात किया हुआ
import * as i from './fun';
i.say('What?'); // Output: What?
i.sayLoud('Whoot!'); // Output: WHOOT!
अगर हम यह सब करना चाहते हैं, तो यह रास्ता है। वाक्य रचना का उपयोग करके * as i
हमारे पास import
बयान एक वस्तु के साथ हमें प्रदान i
है कि हमारे के सभी निर्यात रखती fun
तदनुसार नामित गुण के रूप में मॉड्यूल।
पथ
ध्यान रखें कि आपको अपने आयात पथों को स्पष्ट रूप से रिश्तेदार पथ के रूप में चिह्नित करना होगा, भले ही आयात की जाने वाली फ़ाइल उसी निर्देशिका में निवास की जाए, जिस फ़ाइल का आप उपयोग कर रहे हैं ./
। जैसे उपसर्ग पथ से आयात
import express from 'express';
स्थानीय और वैश्विक node_modules
फ़ोल्डर में देखा जाएगा और यदि कोई मिलान मॉड्यूल नहीं मिला है, तो एक त्रुटि करेगा।
ES6 सिंटैक्स के साथ निर्यात करना
यह अन्य उदाहरण के बराबर है लेकिन इसके बजाय ES6 का उपयोग कर रहा है।
export function printHelloWorld() {
console.log("Hello World!!!");
}