Middleware ਵਿਚ ਜਾਣ-ਪਛਾਣ Express.js
Middleware in Express.js ਇੱਕ ਸ਼ਕਤੀਸ਼ਾਲੀ ਸੰਕਲਪ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਬੇਨਤੀ-ਜਵਾਬ ਜੀਵਨ ਚੱਕਰ ਦੇ ਦੌਰਾਨ ਇੱਕ ਖਾਸ ਕ੍ਰਮ ਵਿੱਚ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਚਲਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਵੱਖ-ਵੱਖ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ ਜਿਵੇਂ ਕਿ ਪ੍ਰਮਾਣੀਕਰਨ, ਲੌਗਿੰਗ, ਡਾਟਾ ਪ੍ਰਮਾਣਿਕਤਾ, ਅਤੇ ਹੋਰ ਬਹੁਤ ਕੁਝ। Middleware ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਕ੍ਰਮਵਾਰ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਹਰੇਕ middleware ਕੋਲ the request
ਅਤੇ response
ਆਬਜੈਕਟ ਤੱਕ ਪਹੁੰਚ ਹੁੰਦੀ ਹੈ, ਨਾਲ ਹੀ ਫੰਕਸ਼ਨ, ਜੋ ਸਟੈਕ ਵਿੱਚ next
ਅਗਲੇ ਨੂੰ ਨਿਯੰਤਰਣ ਪਾਸ ਕਰਦਾ ਹੈ । middleware
ਕਿਉਂ ਵਰਤੋ Middleware ?
Middleware ਤੁਹਾਡੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਮਾਡਿਊਲਰਾਈਜ਼ ਕਰਨ ਅਤੇ ਇਸਦੀ ਸਾਂਭ-ਸੰਭਾਲ ਨੂੰ ਵਧਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਰੂਟ ਹੈਂਡਲਰਾਂ ਨੂੰ ਸਾਫ਼ ਰੱਖਣ ਅਤੇ ਖਾਸ ਕੰਮਾਂ 'ਤੇ ਕੇਂਦ੍ਰਿਤ ਰੱਖਣ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ ਜਦੋਂ ਕਿ middleware ਫੰਕਸ਼ਨਾਂ ਲਈ ਆਮ ਜਾਂ ਕਰਾਸ-ਕਟਿੰਗ ਚਿੰਤਾਵਾਂ ਨੂੰ ਔਫਲੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਚਿੰਤਾਵਾਂ ਦਾ ਇਹ ਵੱਖਰਾ ਕੋਡ ਮੁੜ ਵਰਤੋਂਯੋਗਤਾ ਨੂੰ ਉਤਸ਼ਾਹਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਕੋਡਬੇਸ ਨੂੰ ਹੋਰ ਵਿਵਸਥਿਤ ਬਣਾਉਂਦਾ ਹੈ।
ਬਣਾਉਣਾ ਅਤੇ ਵਰਤਣਾ Middleware
middleware ਵਿੱਚ ਬਣਾਉਣ ਲਈ Express.js, ਤੁਸੀਂ ਇੱਕ ਫੰਕਸ਼ਨ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹੋ ਜੋ ਤਿੰਨ ਪੈਰਾਮੀਟਰ ਲੈਂਦਾ ਹੈ: request
, response
, ਅਤੇ next
.
middleware ਇੱਥੇ ਹਰੇਕ ਆਉਣ ਵਾਲੀ ਬੇਨਤੀ ਨੂੰ ਲੌਗ ਕਰਨ ਦੀ ਇੱਕ ਬੁਨਿਆਦੀ ਉਦਾਹਰਨ ਹੈ:
const logMiddleware =(req, res, next) => {
console.log(`Received a ${req.method} request at ${req.url}`);
next(); // Pass control to the next middleware
};
app.use(logMiddleware);
ਤੁਸੀਂ ਸਾਰੇ ਰੂਟਾਂ 'ਤੇ ਗਲੋਬਲ ਤੌਰ 'ਤੇ app.use()
ਲਾਗੂ ਕਰਨ ਲਈ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ, ਜਾਂ ਤੁਸੀਂ ਇਸ ਨੂੰ ਖਾਸ ਰੂਟਾਂ ਲਈ ਚੁਣ ਕੇ ਵਰਤ ਸਕਦੇ ਹੋ। middleware
Middleware ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਦਾ ਆਰਡਰ
Middleware ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਉਸੇ ਕ੍ਰਮ ਵਿੱਚ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ ਜਿਸਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ app.use()
।
ਉਦਾਹਰਣ ਲਈ:
app.use(middleware1);
app.use(middleware2);
ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਸਾਰੀਆਂ ਆਉਣ ਵਾਲੀਆਂ ਬੇਨਤੀਆਂ ਲਈ middleware1
ਪਹਿਲਾਂ ਚਲਾਇਆ ਜਾਵੇਗਾ । middleware2
ਵਿੱਚ ਤਰੁੱਟੀਆਂ ਨੂੰ ਸੰਭਾਲਣਾ Middleware
ਜੇਕਰ ਕਿਸੇ middleware ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਕੋਈ ਗਲਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਨੂੰ ਗਲਤੀ ਭੇਜ ਸਕਦੇ ਹੋ next
, ਅਤੇ Express.js ਆਪਣੇ ਆਪ ਹੀ ਐਰਰ-ਹੈਂਡਲਿੰਗ 'ਤੇ ਚਲੇ ਜਾਓਗੇ middleware ।
ਇੱਥੇ ਇੱਕ ਉਦਾਹਰਨ ਹੈ:
const errorMiddleware =(err, req, res, next) => {
console.error(err);
res.status(500).send('Something went wrong!');
};
app.use(errorMiddleware);
Middleware ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਵਰਤੋਂ
Middleware ਆਮ ਤੌਰ 'ਤੇ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਅਧਿਕਾਰ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਤੁਸੀਂ ਇੱਕ middleware ਫੰਕਸ਼ਨ ਬਣਾ ਸਕਦੇ ਹੋ ਜੋ ਇਹ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਉਪਭੋਗਤਾ ਨੂੰ ਕੁਝ ਰੂਟਾਂ ਤੱਕ ਪਹੁੰਚ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ ਗਿਆ ਹੈ:
const authenticateMiddleware =(req, res, next) => {
if(req.isAuthenticated()) {
return next(); // User is authenticated, proceed to the next middleware
}
res.redirect('/login'); // User is not authenticated, redirect to login page
};
app.get('/profile', authenticateMiddleware,(req, res) => {
res.send('Welcome to your profile!');
});
ਸਿੱਟਾ
Middleware in Express.js ਤੁਹਾਡੀਆਂ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਅਤੇ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਵਧਾਉਣ ਲਈ ਇੱਕ ਮਹੱਤਵਪੂਰਣ ਸਾਧਨ ਹੈ। middleware ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਫੰਕਸ਼ਨ ਬਣਾ ਕੇ, ਤੁਸੀਂ ਆਪਣੇ ਕੋਡ ਨੂੰ ਸੁਚਾਰੂ ਬਣਾ ਸਕਦੇ ਹੋ, ਚਿੰਤਾਵਾਂ ਨੂੰ ਮਾਡਿਊਲਰਾਈਜ਼ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟਾਂ ਦੀ ਸਮੁੱਚੀ ਸਾਂਭ-ਸੰਭਾਲ ਨੂੰ ਬਿਹਤਰ ਬਣਾ ਸਕਦੇ ਹੋ। ਪ੍ਰਮਾਣਿਕਤਾ ਨੂੰ ਸੰਭਾਲਣ ਤੋਂ ਲੈ ਕੇ ਲੌਗਿੰਗ ਅਤੇ ਗਲਤੀ ਪ੍ਰਬੰਧਨ ਤੱਕ, middleware ਤੁਹਾਨੂੰ ਮਜ਼ਬੂਤ ਅਤੇ ਸੁਰੱਖਿਅਤ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਕੁਸ਼ਲਤਾ ਨਾਲ ਬਣਾਉਣ ਲਈ ਸ਼ਕਤੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ।