Routing ਲਈ ਅਤੇ Middleware ਅੰਦਰ ਗਾਈਡ Express

Routing ਅਤੇ middleware Node.js ਵਿੱਚ ਦੋ ਮਹੱਤਵਪੂਰਨ ਸੰਕਲਪਾਂ ਅਤੇ Express ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਬਣਾਉਣ ਲਈ ਫਰੇਮਵਰਕ ਹਨ।

Routing:

  • Routing ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਹੈ ਕਿ ਕਲਾਇੰਟ ਦੀਆਂ ਬੇਨਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਣਾ ਹੈ ਅਤੇ ਸਰਵਰ 'ਤੇ ਸੰਬੰਧਿਤ ਸਰੋਤਾਂ ਨਾਲ ਜਵਾਬ ਦੇਣਾ ਹੈ।
  • ਵਿੱਚ Express, ਅਸੀਂ HTTP ਵਿਧੀ(GET, POST, PUT, DELETE, ਆਦਿ) ਅਤੇ ਸੰਬੰਧਿਤ URL ਮਾਰਗ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਕੇ ਰੂਟਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦੇ ਹਾਂ।
  • ਹਰੇਕ ਰੂਟ ਵਿੱਚ ਕਾਰਜ ਕਰਨ ਲਈ ਇੱਕ ਜਾਂ ਇੱਕ ਤੋਂ ਵੱਧ ਹੈਂਡਲਰ ਫੰਕਸ਼ਨ ਹੋ ਸਕਦੇ ਹਨ ਜਿਵੇਂ ਕਿ ਬੇਨਤੀ ਪ੍ਰਕਿਰਿਆ, ਡੇਟਾਬੇਸ ਪਹੁੰਚ, ਅਤੇ ਕਲਾਇੰਟ ਨੂੰ ਜਵਾਬ ਭੇਜਣਾ।

Middleware:

  • Middleware ਫੰਕਸ਼ਨ ਹਨ ਜੋ ਬੇਨਤੀ ਦੇ ਅੰਤਿਮ ਰੂਟ ਹੈਂਡਲਰ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਕ੍ਰਮ ਵਿੱਚ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ।
  • ਇਹਨਾਂ ਦੀ ਵਰਤੋਂ ਆਮ ਕਾਰਜਕੁਸ਼ਲਤਾਵਾਂ ਕਰਨ ਅਤੇ ਵਿਚਕਾਰਲੇ ਕੰਮਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਪ੍ਰਮਾਣੀਕਰਨ, ਲੌਗਿੰਗ, ਗਲਤੀ ਹੈਂਡਲਿੰਗ, ਆਦਿ।
  • Middleware ਪੂਰੀ ਐਪਲੀਕੇਸ਼ਨ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਜਾਂ ਖਾਸ ਰੂਟਾਂ ਲਈ ਨਿਰਧਾਰਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
  • ਹਰੇਕ ਨੂੰ middleware ਬੇਨਤੀ(ਬੇਨਤੀ) ਅਤੇ ਜਵਾਬ(ਜਵਾਬ) ਮਾਪਦੰਡ ਪ੍ਰਾਪਤ ਹੁੰਦੇ ਹਨ ਅਤੇ ਪ੍ਰੋਸੈਸਿੰਗ ਕਰ ਸਕਦੇ ਹਨ, ਅਗਲੀ ਨੂੰ ਬੇਨਤੀ ਪਾਸ ਕਰ ਸਕਦੇ ਹਨ middleware, ਜਾਂ ਕਲਾਇੰਟ ਨੂੰ ਜਵਾਬ ਭੇਜ ਕੇ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਖਤਮ ਕਰ ਸਕਦੇ ਹਨ।

ਉਦਾਹਰਨ ਸੰਯੋਗ Routing ਅਤੇ Middleware ਵਿੱਚ Express:

const express = require('express');  
const app = express();  
  
// Middleware
const loggerMiddleware =(req, res, next) => {  
  console.log('A new request has arrived!');  
  next();  
};  
  
// Apply middleware to the entire application  
app.use(loggerMiddleware);  
  
// Main route  
app.get('/',(req, res) => {  
  res.send('Welcome to the homepage!');  
});  
  
// Another route  
app.get('/about',(req, res) => {  
  res.send('This is the about page!');  
});  
  
// Start the server  
app.listen(3000,() => {  
  console.log('Server is listening on port 3000...');  
});  

ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਅਸੀਂ ਸਰਵਰ 'ਤੇ ਆਉਣ ਵਾਲੀ ਹਰ ਨਵੀਂ ਬੇਨਤੀ ਨੂੰ ਲੌਗ ਕਰਨ ਲਈ ਇੱਕ ਕਸਟਮ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਹੈ। ਇਹ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪੂਰੀ ਐਪਲੀਕੇਸ਼ਨ 'ਤੇ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ । ਫਿਰ, ਅਸੀਂ ਦੋ ਰੂਟ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੇ ਹਨ, ਇੱਕ ਮੁੱਖ ਪੰਨੇ( ) ਲਈ ਅਤੇ ਦੂਜੇ ਬਾਰੇ ਪੰਨੇ( ) ਲਈ। ਅੰਤ ਵਿੱਚ, ਅਸੀਂ ਸਰਵਰ ਚਾਲੂ ਕਰਦੇ ਹਾਂ ਅਤੇ ਪੋਰਟ 3000 'ਤੇ ਸੁਣਦੇ ਹਾਂ। middleware loggerMiddleware middleware app.use() '/' '/about'

ਹਰੇਕ ਬੇਨਤੀ ਲਈ ਲਾਗੂ ਕੀਤਾ ਜਾਵੇਗਾ, ਸੰਬੰਧਿਤ ਰੂਟ ਹੈਂਡਲਰ ਨੂੰ ਬੇਨਤੀ ਪਾਸ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਜਾਂ ਕ੍ਰਮ ਵਿੱਚ ਕੰਸੋਲ ਵਿੱਚ ਇੱਕ ਸੁਨੇਹਾ ਲੌਗ ਕਰਨਾ। middleware loggerMiddleware middleware

ਦਾ ਇਹ ਸੁਮੇਲ routing ਅਤੇ ਸਾਨੂੰ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ middleware ਵਿੱਚ ਵੱਖ-ਵੱਖ ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ ਆਮ ਕੰਮਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ । Express