अप्रैल 2022 में, NodeJS रिलीज़ Node v18 जारी किया गया था। Node v18 अद्यतन Node v14 के बाद से सबसे प्रत्याशित अद्यतनों में से एक रहा है, जिसमें async स्थानीय संग्रहण API, एक वेब असेंबली सिस्टम इंटरफ़ेस (WASI), और ECMAScript मॉड्यूल के लिए समर्थन जोड़ा गया है।

v18 अपग्रेड NodeJS में कई सुधार जोड़ता है, जिसमें डिफ़ॉल्ट रूप से वैश्विक रूप से सक्षम फ़ेच एपीआई, वेब स्ट्रीम एपीआई समर्थन और एक कोर टेस्ट रनर मॉड्यूल शामिल है। यहां हम v18 में NodeJS के अधिकांश महत्वपूर्ण परिवर्तनों को कवर करते हैं।

1. फ़ेच एपीआई

फ़ेच एपीआई HTTP अनुरोधों और प्रतिक्रियाओं तक पहुँचने और हेरफेर करने के लिए एक इंटरफ़ेस प्रदान करता है। NodeJS v18 से पहले, NodeJS के साथ किए गए HTTP अनुरोधों के लिए तृतीय-पक्ष पुस्तकालयों की आवश्यकता होती है जैसे अक्षतंतु तथा नोड-फ़ेच या जटिल एचटीटीपी या HTTPS के पैकेट।

NodeJS v18 डिफ़ॉल्ट रूप से वैश्विक दायरे में फ़ेच एपीआई उपलब्ध कराता है। वैश्विक फ़ेच एपीआई तीसरे पक्ष के पुस्तकालयों की आवश्यकता को समाप्त करता है जैसे अक्षतंतु और वर्बोज़ कोड से जुड़ा हुआ है HTTPS के संसाधन लाते समय पैकेज एक नेटवर्क में अतुल्यकालिक रूप से.

instagram viewer

यहाँ एपीआई के उपयोग का एक उदाहरण है:

स्थिरांक गेटडाटा = अतुल्यकालिकसमारोह () {
प्रयत्न {
स्थिरांक रेस = इंतजार फ़ेच ("https://example.com/users");
स्थिरांक डेटा = इंतजार रेस.जेसन ();
सांत्वना देनालॉग (डेटा);
} पकड़ (गलती) {
सांत्वना देना।लकड़ी का लट्ठा(`कुछ गलत हो गया, ${त्रुटि}`);
}
};
डेटा प्राप्त करें();

डेटा प्राप्त करें उपरोक्त फ़ंक्शन a भेजता है प्राप्त से संसाधन लाने का अनुरोध " https://example.com/users". फ़ेच एपीआई एक वैकल्पिक दूसरा पैरामीटर, एक विकल्प ऑब्जेक्ट भी लेता है। विकल्प ऑब्जेक्ट में अनुरोध के बारे में विवरण होना चाहिए। उदाहरण के लिए:

स्थिरांक उपयोगकर्ता डेटा = {
नाम: "जॉन स्नो",
उम्र: 25,
लिंग: "एम",
};
स्थिरांक पोस्टडाटा = अतुल्यकालिकसमारोह (जानकारी) {
प्रयत्न {
स्थिरांक रेस = इंतजार फ़ेच ("https://example.com/users", {
तरीका: "पद",
तन: JSON.stringify (डेटा),
});
स्थिरांक प्रतिक्रिया डेटा = इंतजार रेस.जेसन ();
सांत्वना देना।लकड़ी का लट्ठा(
`अनुरोध सफल रहा, यहां विवरण दिया गया है: ${responseData}`
);
} पकड़ (गलती) {
सांत्वना देना।लकड़ी का लट्ठा(`अनुरोध असफल रहा, यहां विवरण दिया गया है: ${त्रुटि}`);
}
};
पोस्टडाटा (उपयोगकर्ता डेटा);

हालांकि फ़ेच एपीआई अभी भी है प्रयोगात्मक, इसे अधिकांश उपयोगकर्ताओं के लिए अच्छा काम करना चाहिए।

2. वेब स्ट्रीम एपीआई के लिए समर्थन

मल्टीमीडिया या रीयल-टाइम एप्लिकेशन सोचें; यह वेब-स्ट्रीम API का मुख्य उपयोग मामला है। वेब स्ट्रीम एपीआई इंटरफेस का एक सेट है जो नेटवर्क पर प्राप्त बड़े संसाधन के प्रोग्रामेटिक ब्रेकडाउन को छोटे टुकड़ों में सक्षम करता है, फिर इसे थोड़ा-थोड़ा करके संसाधित करता है।

एक धारा का एक उदाहरण एक सफल द्वारा लौटाया गया प्रतिक्रिया निकाय है लाना अनुरोध। प्रतिक्रिया निकाय प्रकार का है पठनीय स्ट्रीम.

NodeJS v18 एक उजागर करता है प्रयोगात्मक वेब स्ट्रीम एपीआई का कार्यान्वयन। इस अद्यतन के साथ, वेब स्ट्रीम एपीआई अब क्लाइंट और सर्वर दोनों में उपलब्ध हैं, जिससे विकास अधिक सरल हो गया है।

आप वर्तमान में समर्थित धाराओं की एक सूची पा सकते हैं आधिकारिक रिलीज नोट्स.

3. टेस्ट रनर मॉड्यूल

NodeJS के पुराने संस्करणों में, बिल्ट-इन के साथ तीसरे पक्ष के पुस्तकालयों के बिना परीक्षण किया गया था ज़ोर पुस्तकालय।

ज़ोर पुस्तकालय ने सरल परीक्षण लिखना आसान बना दिया, लेकिन इसकी महत्वपूर्ण सीमाएँ थीं जिससे कई परीक्षण सूट के साथ काम करना कठिन हो गया। इन सीमाओं ने जेस्ट जैसे तीसरे पक्ष के पुस्तकालयों को अधिक उन्नत परीक्षण चलाने की आवश्यकता को बढ़ावा दिया।

NodeJS v18 NodeJS के अपने कोर टेस्ट रनर मॉड्यूल की शुरुआत के साथ तीसरे पक्ष के पुस्तकालयों की आवश्यकता को समाप्त करता है। टेस्ट रनर सबटेस्ट, टेस्ट स्किपिंग, कॉलबैक टेस्ट आदि जैसी सुविधाओं का समर्थन करता है, जैसे जेस्ट।

परीक्षण धावक का उपयोग करने के लिए, आपको आयात करना होगा ज़ोर से ज़ोर तथा परीक्षण से नोड: परीक्षण. ध्यान दें "नोड:" उपसर्ग; यह नोड का नया प्रोटोकॉल है जो नोड कोर पैकेज को उपयोगकर्ता द्वारा बनाए गए पैकेज से अलग करता है।

स्थिरांकज़ोर = आवश्यकता ("ज़ोर");
स्थिरांक परीक्षण = ज़रूरत होना("नोड: परीक्षण");

टेस्ट रनर मॉड्यूल का उपयोग करके एक साधारण परीक्षण का उदाहरण यहां दिया गया है:

परीक्षण("जांचें कि क्या तार समान हैं", (टी) => {
जोर दें। सख्त समान ("परीक्षण", "परीक्षण");
});

परीक्षण धावक द्वारा प्रदर्शित परीक्षा परिणाम में होगा टैप (टेस्ट एनीथिंग प्रोटोकॉल) प्रारूप। ध्यान दें कि यह सुविधा अभी भी प्रयोगात्मक है और किसी भी समय बदल सकती है।

4. अन्य उन्नयन और सुधार

नोड v18 अपडेट में v8 इंजन के लिए संस्करण 10.1 का अपडेट भी शामिल है। v8 इंजन जावास्क्रिप्ट को निष्पादित करने के लिए NodeJS द्वारा उपयोग किया जाने वाला जावास्क्रिप्ट रनटाइम है।

v8 अद्यतन बनाता है सरणी के तरीकेअंतिम खोजें तथा अंतिम अनुक्रमणिका खोजें NodeJS में उपलब्ध है और वर्ग क्षेत्रों और निजी वर्ग विधियों के प्रदर्शन में सुधार करता है।

NodeJS, Node v18 अपग्रेड में वैश्विक दायरे में निम्नलिखित API को भी उजागर करता है:

  • ब्लॉब
  • प्रसारण चैनल

नोड v18 में अपग्रेड करना

नोड v18 का उपयोग करके, आप बाहरी पुस्तकालयों के बिना एक संपूर्ण एप्लिकेशन का परीक्षण कर सकते हैं, संसाधनों को बाहरी पुस्तकालयों के बिना असीमित रूप से प्राप्त कर सकते हैं, और आपके सर्वर में वेब स्ट्रीम सक्षम कर सकते हैं।

हालाँकि, यह ध्यान देने योग्य है कि ये सुविधाएँ अभी भी प्रायोगिक हैं और कभी भी बदल सकती हैं। आप NodeJS v18 का उपयोग करके अपग्रेड कर सकते हैं आधिकारिक डाउनलोड लिंक.