Kodokon kodokon.com

Express: रूट और मिडलवेयर

Express इंस्टॉल करें और अपने पहले सर्वर को रूट, URL पैरामीटर और मिडलवेयर के साथ संरचित करें।

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

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

आप पहले से जानते हैं कि नेटिव http मॉड्यूल से सर्वर कैसे शुरू किया जाता है: वहाँ सब कुछ मैन्युअल होता है, URL पढ़ने से लेकर हेडर जोड़ने तक। Express वह फ्रेमवर्क है जिसने Node की ओर वेब डेवलपमेंट को मानकीकृत किया: रूटिंग, मिडलवेयर, एक संक्षिप्त API, और प्रोटोकॉल के बारे में कुछ भी छुपाए बिना। एक प्रोजेक्ट बनाएँ और इसे इंस्टॉल करें।

BASH
mkdir kodokon-api
cd kodokon-api
npm init -y
npm install express

अपने package.json में type प्रॉपर्टी को module वैल्यू के साथ जोड़ें: पूरा प्रोजेक्ट ES मॉड्यूल का उपयोग करेगा। फिर server.js बनाएँ। एक कार्यशील सर्वर के लिए कुछ लाइनें ही पर्याप्त हैं: आप एप्लिकेशन बनाते हैं, एक रूट घोषित करते हैं, और एक पोर्ट पर सुनते हैं।

JAVASCRIPT
import express from "express";

const app = express();

app.get("/", (req, res) => {
  res.send("Kodokon API online");
});

app.listen(3000, () => {
  console.log("http://localhost:3000");
});
server.js - इसे node server.js से चलाएँ

एक रूट किसी HTTP मेथड और एक पथ को एक फ़ंक्शन से जोड़ता है। डायनामिक सेगमेंट कोलन के साथ घोषित किए जाते हैं: /users/:id में, वैल्यू req.params.id में उपलब्ध होती है। क्वेरी पैरामीटर (?q=node) req.query में दिखाई देते हैं। यह अंतर ध्यान में रखें: पथ संसाधन की पहचान करता है, क्वेरी स्ट्रिंग रिक्वेस्ट को परिष्कृत करती है।

JAVASCRIPT
app.get("/users/:id", (req, res) => {
  const { id } = req.params;
  res.json({ id, name: "User " + id });
});

app.get("/search", (req, res) => {
  const { q } = req.query;
  res.json({ query: q ?? "" });
});

एक मिडलवेयर एक ऐसा फ़ंक्शन है जो रिक्वेस्ट के आगमन और आपके रूट के बीच चलता है। इसका सिग्नेचर: (req, res, next)। यह req को समृद्ध कर सकता है, सीधे प्रतिक्रिया दे सकता है, या next() से आगे सौंप सकता है। मूल रूप से Express बस मिडलवेयर की एक श्रृंखला है: लॉगिंग, प्रमाणीकरण, बॉडी पार्सिंग। यह मिडलवेयर हर रिक्वेस्ट को उसकी अवधि के साथ लॉग करता है:

JAVASCRIPT
app.use((req, res, next) => {
  const start = Date.now();
  res.on("finish", () => {
    const ms = Date.now() - start;
    console.log(`${req.method} ${req.url} ${ms}ms`);
  });
  next();
});
सब कुछ लॉग करने के लिए इसे अपने रूट से पहले घोषित करें

ज्ञान जांच

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

  1. एक रूट /users/:id पथ के साथ घोषित किया गया है। आप id की वैल्यू कहाँ पढ़ते हैं?
    • req.query.id में
    • req.params.id में
    • req.body.id में
  2. किसी Express मिडलवेयर में, next() को कॉल करने से क्या होता है?
    • यह क्लाइंट को प्रतिक्रिया वापस भेजता है
    • यह अगले मिडलवेयर या रूट को सौंप देता है
    • यह सर्वर को पुनः शुरू करता है
    • यह वर्तमान रिक्वेस्ट को रद्द कर देता है
  3. Node.js में import सिंटैक्स का उपयोग करने के लिए आपको package.json में क्या जोड़ना होगा?
    • type प्रॉपर्टी को module पर सेट किया गया
    • esm प्रॉपर्टी को true पर सेट किया गया
    • कुछ नहीं, यह डिफ़ॉल्ट व्यवहार है