নোডজেএস / এক্সপ্রেস: "অ্যাপ.ইউজ" কী?


332

ইন NodeJS এর জন্য দস্তাবেজ expressমডিউল , উদাহরণস্বরূপ কোড আছে app.use(...)

useফাংশনটি কী এবং এটি সংজ্ঞায়িত কোথায়?



ডকুমেন্টেশন পড়ে এই ধরণের প্রশ্নের উত্তর দেওয়া যায়।
মিনা

47
ডকুমেন্টেশনটি কোনও শিক্ষানবিসের জন্য কিছুটা রহস্যজনক
কানসাইরোবট

6
উপরের সম্ভাব্য সদৃশ একে অপরকে রেফারেন্স
দিচ্ছে

1
ডকুমেন্টেশন পুরোপুরি অস্পষ্ট
টেসারাক্টার

উত্তর:


369

এক্সপ্রেস সার্ভার তৈরির সময় অ্যাপ্লিকেশন অবজেক্টটি ইনস্ট্যান্টিয়েটেড হয়। এটিতে একটি মিডলওয়্যার স্ট্যাক রয়েছে যা কাস্টমাইজ করা যায় app.configure()(এটি এখন সংস্করণ 4.x এ অবচয় হয়)

আপনার মিডলওয়্যার সেটআপ করতে, আপনি app.use(<specific_middleware_layer_here>)যে মিডলওয়্যার স্তরটি যুক্ত করতে চান তার জন্য আবেদন করতে পারেন (এটি সমস্ত পাথের জন্য জেনেরিক হতে পারে, বা কেবলমাত্র আপনার সার্ভার হ্যান্ডলগুলি নির্দিষ্ট পাথগুলিতে ট্রিগার করে) এবং এটি আপনার এক্সপ্রেস মিডলওয়্যার স্ট্যাকের সাথে যুক্ত হবে। মিডলওয়্যার স্তরগুলি একাধিক আহ্বানে একের পর এক যোগ করা যেতে পারে use, বা এমনকি সমস্ত একবারে একটি অনুরোধের মাধ্যমে সিরিজটিতে। আরও বিশদ জন্য useডকুমেন্টেশন দেখুন ।

এক্সপ্রেস মিডলওয়্যারটির ধারণাগত বোঝার জন্য উদাহরণ দেওয়ার জন্য, আমার অ্যাপ্লিকেশন মিডলওয়্যার স্ট্যাক (app.stack) JSON হিসাবে কনসোলে আমার অ্যাপ্লিকেশনটিকে লগ ইন করার সময় দেখতে কেমন দেখাচ্ছে:

stack: 
   [ { route: '', handle: [Function] },
     { route: '', handle: [Function: static] },
     { route: '', handle: [Function: bodyParser] },
     { route: '', handle: [Function: cookieParser] },
     { route: '', handle: [Function: session] },
     { route: '', handle: [Function: methodOverride] },
     { route: '', handle: [Function] },
     { route: '', handle: [Function] } ]

আপনি অনুমান করতে সক্ষম হতে পারেন হিসেবে আমি নামক app.use(express.bodyParser()), app.use(express.cookieParser())ইত্যাদি, যা মিডলওয়্যার স্ট্যাক এইসব দ্রুতগামী মিডলওয়্যার 'স্তর' এখনো যোগ করেনি। লক্ষ্য করুন যে রুটগুলি ফাঁকা, এর অর্থ হ'ল আমি যখন মিডলওয়্যার স্তরগুলি যুক্ত করেছি তখন আমি উল্লেখ করেছি যে কোনও রুটে সেগুলি ট্রিগার করা হবে। যদি আমি একটি কাস্টম মিডলওয়্যার স্তর যুক্ত করেছি যা কেবলমাত্র সেই পথেই ট্রিগার করেছিল যা উপরের স্ট্যাক প্রিন্টআউটে সেই মিডওয়্যারের স্তর অবজেক্টের ক্ষেত্রে /user/:idএকটি স্ট্রিং হিসাবে প্রতিফলিত হবে route

প্রতিটি স্তরটি মূলত একটি ফাংশন যুক্ত করছে যা মিডওয়্যারের মাধ্যমে আপনার প্রবাহে নির্দিষ্টভাবে কিছু পরিচালনা করে।

উদাহরণস্বরূপ যোগ করে bodyParser, আপনি নিশ্চিত করেছেন যে আপনার সার্ভারটি এক্সপ্রেস মিডলওয়্যারের মাধ্যমে আগত অনুরোধগুলি পরিচালনা করে । সুতরাং, এখন আগত অনুরোধগুলির মূল অংশটি পার্সিং করা ইনকামিং রিকোয়েস্টগুলি পরিচালনা করার সময় আপনার মিডলওয়্যারটি গ্রহণ করা পদ্ধতির একটি অংশ - আপনি যা বলেছেন তাই সব app.use(bodyParser)


116
ধন্যবাদ. এক্সপ্রেস লোকদের পক্ষে তাদের এপিআই ডক্সে এটি ব্যাখ্যা করা কি এত কঠিন হবে?
এরিকসোক

4
সুতরাং আপনি বলছেন যে কোনও অনুরোধ পাওয়ার পরে প্রকৃত পরিষেবাটিতে আঘাতের আগে ডেটা সেই পার্সারগুলির মধ্য দিয়ে যায়। সুতরাং উদাহরণস্বরূপ: বৈধ অনুরোধ-> প্রমাণীকরণ-> প্রক্রিয়াগুলি অনুসন্ধান-> সার্ভারেস্পোনস ইউএসই কোনও নির্দিষ্ট ক্রমে এই পদক্ষেপগুলি নিয়ন্ত্রণ করবে এবং সেগুলি সমান্তরালভাবে চালিত করবে না?
অ্যাডাম হেস

2
তাহলে কি অ্যাপ.ইউজ () নির্ভরতা ইনজেকশন কার্যকর রয়েছে?
কেভিন সি।

8
অ্যাপ.উজে প্রেরণ করা ফাংশনটি কখন বলা হয়? এক্সপ্রেস সার্ভার তৈরি করার পরে বা প্রতিটি অনুরোধের জন্য?
টিমো হুভিনেন

5
@KevinC। না এটি নির্ভরতা ইনজেকশন নয়। এটি একটি প্লাগইন আর্কিটেকচার। সাধারণত এই ধরণের আর্কিটেকচারকে ফিল্টার সিস্টেম / ফিল্টার পাইপলাইন / পাইপ এবং ফিল্টার বলা হয়। এক্সপ্রেসে পাইপ হ'ল next()কলব্যাক প্রতিটি মধ্যমাধ্যমকে পাইপলাইনের পরবর্তী ফাংশনে প্রসেসিং পাস করার জন্য কল করা হবে বলে আশা করা হচ্ছে। রাউটিং সিস্টেম (প্রথম যুক্তি app.use()) পাইপলাইনটি ইউআরএলের উপর নির্ভর করে শাখায় অনুমতি দেয়
slebetman

50

useএক্সপ্রেস এইচটিটিপি সার্ভার অবজেক্টের রুটগুলি দ্বারা ব্যবহৃত মিডলওয়্যার কনফিগার করার একটি পদ্ধতি। পদ্ধতিটি সংযোগের অংশ হিসাবে সংজ্ঞায়িত করা হয় যা এক্সপ্রেস ভিত্তিক।

আপডেট 4.x সংস্করণ দিয়ে শুরু করা, এক্সপ্রেস আর সংযোগের উপর নির্ভর করে না ।

মিডলওয়্যার ফাংশনগুলি যা পূর্বে এক্সপ্রেসের সাথে অন্তর্ভুক্ত ছিল এখন পৃথক মডিউলগুলিতে রয়েছে; মিডলওয়্যার ফাংশনগুলির তালিকা দেখুন ।



কোনও নোড মিডলওয়্যার যদি অবজেক্টগুলিকে ইনস্ট্যান্ট করে তোলে তবে তা কার্যকর হবে? এর অর্থ কি প্রতিটি অনুরোধে, মিডলওয়্যারগুলি নতুন অবজেক্টগুলিকে ইনস্ট্যান্ট করে? পুরানো জিনিসগুলি কি ফেলে দেওয়া হয়? উদাহরণস্বরূপapp.use(function(){ var object = new SomeConstructor; next(); })
সিএমসিডিগ্রাগনকাই

1
@CMCDragonkai প্রতিটি অনুরোধে অবজেক্টগুলি ইনস্ট্যান্ট করা ভাল। আপনি যতক্ষণ না আপনার অনুরোধ হ্যান্ডলারের সুযোগের বাইরে অবজেক্টগুলির রেফারেন্সগুলি সংরক্ষণ করছেন সেগুলি তারা এতক্ষণ জঞ্জাল সংগ্রহ করবে।
jeff_mcmahan

1
লিঙ্কগুলির জন্য @ আলেকজান্ডারবার্ড থেক্স (প্রথম জন যদিও এখন ভেঙে গেছে)। রেকর্ডের জন্য, কেবল ২ য় লিঙ্কে ডকটির সূচনা করে বলা হয়েছে "প্রদত্ত মিডলওয়্যার হ্যান্ডেলটিকে প্রদত্ত রুটে ব্যবহার করুন / এ ডিফল্ট করুন" এই "রুটটি মাঝারি পাতাগুলির জন্য মাউন্ট-পয়েন্ট, যখন / ছাড়া অন্য কোনও মান দেওয়া হয় মিডওয়্যারটি কেবল তখন কার্যকর যখন সেগমেন্টটি অনুরোধের পথের নামটিতে উপস্থিত থাকে উদাহরণস্বরূপ যদি আমরা / অ্যাডমিনে কোনও ফাংশন মাউন্ট করতে পারি তবে এটি / অ্যাডমিন এবং / অ্যাডমিন / সেটিংসে আহ্বান করা হবে, তবে এটি / , বা / পোস্ট "। সরল :)
এড্রিয়েন

40

প্রতিটি অ্যাপ্লিকেশন.ইউজ (মিডলওয়্যার) প্রতিবার সার্ভারে একটি অনুরোধ প্রেরণ করা হয়।


7
আপনার একক বাক্য উত্তরটি তাত্ক্ষণিকভাবে বোধগম্য এবং অন্যান্য বহু অনুচ্ছেদের ব্যাখ্যার চেয়ে বেশি সহায়ক।
স্ট্যাকডএন্ড ওভারফ্লো

16

অ্যাপ.ইউজ () মিডলওয়্যার ফাংশন মাউন্ট করতে ব্যবহৃত হয় বা নির্দিষ্ট পথে মাউন্ট করে, বেসওয়থ পাথ মেলে মিডলওয়্যার ফাংশনটি কার্যকর করা হয়।

উদাহরণস্বরূপ: আপনি যদি সূচিরাউটার.জেজে app.use () ব্যবহার করে থাকেন তবে এটির মতো:

//indexRouter.js

var adsRouter = require('./adsRouter.js');

module.exports = function(app) {
    app.use('/ads', adsRouter);
}

উপরের কোড অ্যাপে ব্যবহার করুন () বিজ্ঞাপন / রাউটার.জেজে '/ বিজ্ঞাপন'-এ পাথটি মাউন্ট করুন।

এখন বিজ্ঞাপনের রাউটার.জেএস এ

// adsRouter.js

var router = require('express').Router();
var controllerIndex = require('../controller/index');
router.post('/show', controllerIndex.ads.showAd);
module.exports = router;

বিজ্ঞাপনের রাউটার.জেজে, পথটি বিজ্ঞাপনের জন্য এই জাতীয় হবে- '/ বিজ্ঞাপন / শো', এবং তারপরে এটি কন্ট্রোলার ইন্ডেক্স.এডস.শোঅ্যাড () অনুযায়ী কাজ করবে।

app.use ([পাথ], কলব্যাক, [কলব্যাক]): আমরা একইটিতে একটি কলব্যাক যোগ করতে পারি।

app.use('/test', function(req, res, next) {

  // write your callback code here.

    });

আমি "মাউন্ট" এর জায়গায় "মানচিত্র" ব্যবহার করব, বুঝতে সহজ।
Jeb50

13

app.use () এক্সপ্রেস অ্যাপ্লিকেশনগুলিতে মিডলওয়্যার হিসাবে কাজ করে। App.get () এবং app.post () বা এর চেয়ে আলাদা , আপনি অনুরোধ URL নির্দিষ্ট না করেই অ্যাপ্লিকেশন ব্যবহার করতে পারেন । এমন ক্ষেত্রে এটি কী করে তা, প্রতিটি সময়ই কার্যকর করা হয় ইউআরএল-এর আঘাত হ'ল না কেন।


7

app.use () এর মতো কাজ করে:

  1. নোড http সার্ভারের দৃষ্টান্তে ইভেন্টটি ট্রিগার করার অনুরোধ।
  2. এক্সপ্যাক্ট তার অভ্যন্তরীণ কারসাজিগুলি রেকর্ড অবজেক্ট দিয়ে করে।
  3. এটি তখনই হয় যখন এক্সপ্রেস আপনি অ্যাপ্লিকেশন ব্যবহার করে নির্দিষ্ট করা কাজগুলি শুরু করে

যা খুব সহজ।

এবং কেবল তখনই এক্সপ্রেস রাউটিংয়ের মতো বাকী জিনিসগুলি করবে।


6
app.use(function middleware1(req, res, next){
   // middleware1 logic
}, function middleware1(req, res, next){
   // middleware2 logic
}, ... middlewareN);

মিড.ওয়্যার রেজিস্ট্রেশন ক্রমের উপর নির্ভর করে কোনও শেষ রুট যুক্তি বা মধ্যবর্তী রুট লজিক কার্যকর করার আগে অ্যাপ.ইজ মিডলওয়্যার বা মিডলওয়্যারের চেইন (বা একাধিক মিডলওয়্যারস) রেজিস্টার করার একটি উপায় ।

মিডলওয়্যার: ফরম চেইন অব ফাংশন / মিডলওয়্যার-ফাংশন সঙ্গে 3 পরামিতি req, মাঝামাঝি এবং পরবর্তী । এর পরেরটি হল কলব্যাক যা পরবর্তী মিডলওয়্যার-ফাংশনটিকে শৃঙ্খলে উল্লেখ করে এবং চেনের শেষ মিডলওয়্যার-ফাংশনের ক্ষেত্রে পরবর্তী পয়েন্টগুলি পরবর্তী নিবন্ধিত মিডরেয়ার-শৃঙ্খলের প্রথম-মিডলওয়্যার-ফাংশনের দিকে নির্দেশ করে।


1
একটি যাদুমন্ত্র মত কাজ করে !!
আনমল রাই

3

এক্সপ্রেসে আমরা যদি "এক্সপ্রেস" থেকে এক্সপ্রেস আমদানি করি এবং অ্যাপ = এক্সপ্রেস () ব্যবহার করি; তারপরে অ্যাপে এক্সপ্রেসের সমস্ত কার্যকারিতা রয়েছে

যদি আমরা অ্যাপ্লিকেশন ব্যবহার করি ()

সম্পূর্ণ এক্সপ্রেস প্রকল্পে কোনও মডিউল / মিডলওয়্যার ফাংশন সহ


3

app.useএকটি ফাংশন মিডলওয়্যার প্রয়োজন। উদাহরণ স্বরূপ:

 app.use('/user/:id', function (req, res, next) {
       console.log('Request Type:', req.method);
        next();
     });

এই উদাহরণটি মাঝখানে স্থাপন করা মিডওয়্যার ফাংশনটি দেখায় /user/:id। এই ফাংশনটি কোনও প্রকারের HTTP অনুরোধের জন্য কার্যকর করা হয় /user/:id

এটি REST ওয়েব সার্ভারের মতো, /xxবিভিন্ন ক্রিয়াকে উপস্থাপন করতে বিভিন্ন ব্যবহার করুন ।


উত্তরের জন্য ধন্যবাদ, তবে যেহেতু অন্য কেউ ইতিমধ্যে সমস্ত তথ্য বলেছে আমি এটিকে অগ্রাহ্য করব না। আমি মনে করি না এক্সপ্রেস কী useকরতে পারে তার প্রতিটি ব্যাখ্যা আমার প্রয়োজন ; আমি কেবল এটি কী তা জানতে হবে (এবং কীভাবে নিজেকে আরও গবেষণা করতে হবে তা জানতে কোনও প্রসঙ্গের জ্ঞান)।
আলেকজান্ডার বার্ড

3

app.use যেমন woks হয় মিডলওয়্যার অ্যাপ্লিকেশন অনুরোধের জন্য। বাক্য গঠন

app.use('pass request format',function which contain request response onject)

উদাহরণ

app.use('/',funtion(req,res){
 console.log(all request pass through it);
// here u can check your authentication and other activities.
})

আপনার অনুরোধটি রাউটিংয়ের ক্ষেত্রে আপনি এটি ব্যবহার করতে পারেন।

app.use('/', roting_object);

2

মিডলওয়্যার হ'ল সফটওয়্যারগুলির জন্য একটি সাধারণ শব্দ যা "একসাথে আঠালো" কাজ করে তাই অ্যাপ.উজ মিডওয়্যারটি কনফিগার করার একটি পদ্ধতি, উদাহরণস্বরূপ: অনুরোধের বডিটি পার্স এবং পরিচালনা করতে: অ্যাপ.উজ (বডি পার্সার.আরল্যানকোড ((প্রসারিত: সত্য) })); app.use (bodyParser.json ()); অনেক middlewares আপনি আপনার দ্রুতগামী অ্যাপ্লিকেশনে ব্যবহার করতে পারেন মাত্র ডক পড়া আছেন: http://expressjs.com/en/guide/using-middleware.html


2

app.use মূল অ্যাপ্লিকেশন মিডলওয়্যার স্ট্যাকের জন্য নির্দিষ্ট মিডলওয়্যার প্রয়োগ করে। প্রধান অ্যাপ্লিক স্ট্যাকের সাথে মিডলওয়্যার সংযুক্ত করার সময়, সংযুক্তির ক্রমটি গুরুত্বপূর্ণ; আপনি যদি মিডলওয়্যার বি এর আগে মিডলওয়্যার এ সংযুক্ত করেন তবে মিডলওয়্যার এ সর্বদা প্রথমে কার্যকর করা হবে। আপনি কোনও পাথ নির্দিষ্ট করতে পারেন যার জন্য একটি নির্দিষ্ট মিডলওয়্যার প্রযোজ্য। নীচের উদাহরণে, "হ্যালো ওয়ার্ল্ড" সর্বদা "শুভ ছুটির দিনগুলির" আগে লগ করা হবে।

const express = require('express')
const app = express()

app.use(function(req, res, next) {
  console.log('hello world')
  next()
})

app.use(function(req, res, next) {
  console.log('happy holidays')
  next()
})

2

এটা আপনি কোন মিডলওয়্যার ব্যবহার করবেন (সম্ভব আরও পড়ুন ) -এর মত body_parser, CORSইত্যাদি মিডলওয়্যার বদলাতে পারেন requestএবং responseঅবজেক্ট। এটি কোডের একটি টুকরাও কার্যকর করতে পারে।


উত্তরের জন্য ধন্যবাদ, তবে আমি বিশ্বাস করি যে সমস্ত তথ্য ইতিমধ্যে অন্যান্য উত্তরে ধরা
আলেকজান্ডার বার্ড

2

আপনি নিজের মিডলওয়্যার ফাংশনটিও তৈরি করতে পারেন

app.use( function(req, res, next) {
  // your code 
  next();
})

এটি তিনটি পরামিতি ধারণ করে req, res, next
এছাড়াও আপনি প্রমাণীকরণ এবং ইনপুট প্যারাম এর বৈধতা জন্য এটি ব্যবহার আপনার নিয়ামক পরিষ্কার রাখতে পারবেন না।

next()পরবর্তী মিডলওয়্যার বা রুটে যাওয়ার জন্য ব্যবহৃত হয়।
মিডলওয়্যার থেকে প্রতিক্রিয়া পাঠাতে পারেন


1

অ্যাপ্লিকেশন-স্তরের মিডলওয়্যারটিকে অ্যাপ্লিকেশন আইটেমের একটি উদাহরণে আবশ্যক করে অ্যাপ.ইউজ () এবং অ্যাপ্লিকেশন ব্যবহার করুন M ছোট হাতের অক্ষরে পোস্ট করুন।


1

সংক্ষেপে app.use () সমস্ত প্রকারের অনুরোধগুলিকে সমর্থন করে (যেমন: পান, পোস্ট করুন, ...] তাই এটি বেশিরভাগই মিডলওয়্যার সেটআপ করতে ব্যবহৃত হয়। বা রুট এবং ফাংশনগুলি বিচ্ছিন্ন হয়ে যাওয়ার জন্য ব্যবহার করা যেতে পারে

উদাহরণ:

app.use("/test",functionName)

এবং ফাংশননাম বিভিন্ন ফাইলে অবস্থিত


উত্তরের জন্য ধন্যবাদ, তবে আমি বিশ্বাস করি যে সমস্ত তথ্য ইতিমধ্যে অন্যান্য উত্তরে ক্যাপচার করা হয়েছে।
আলেকজান্ডার বার্ড

1

app.use() একটি মিডওয়্যারের পদ্ধতি।

মিডলওয়্যার পদ্ধতিটি জাভাতে একটি ইন্টারসেপ্টারের মতো, এই পদ্ধতিটি সর্বদা সমস্ত অনুরোধের জন্য কার্যকর করে।

মিডলওয়্যারের উদ্দেশ্য এবং ব্যবহার: -

  1. সেশনটির মেয়াদ শেষ হয়েছে কি না তা পরীক্ষা করতে
  2. ব্যবহারকারী প্রমাণীকরণ এবং অনুমোদনের জন্য
  3. কুকি জন্য পরীক্ষা (মেয়াদ শেষ)
  4. প্রতিক্রিয়া আগে ডেটা পার্স

মিডলওয়্যার হ'ল অ্যাপ.ইউজ () এ ফাংশনটি প্রেরণ।
নেটটিসি

1

app.use
(মিডলওয়্যার ফ্রেমওয়ার্ক nodejs) এক্সপ্রেস দ্বারা তৈরি করা হয়
app.use intilization প্রক্রিয়া যে কোনো নির্দিষ্ট ক্যোয়ারী চালানো ব্যবহার
server.js (নোড)
Var অ্যাপ্লিকেশন = ( 'প্রকাশ করার') প্রয়োজন; সুতরাং সার্ভার আপ করার সময় মূলত অ্যাপ.ইউজ ফাংশনটি প্রতিবার ডাকে
app.use(bodyparser.json())


0

app.use হ'ল অ্যাপ্লিকেশন স্তর মিডলওয়্যার

অ্যাপ্লিকেশন-স্তরের মিডলওয়্যারটিকে অ্যাপ্লিকেশন আইটেমের একটি উদাহরণে আবশ্যক করে অ্যাপ.ইউজ () এবং অ্যাপ্লিকেশন ব্যবহার করুন M ছোট হাতের অক্ষরে পোস্ট করুন।

আপনি সমস্ত অনুরোধগুলি যাচাই করতে ব্যবহার করতে পারেন, উদাহরণস্বরূপ, আপনি টোকেন / অ্যাক্সেস টোকেন চেক করতে চান অ্যাপ্লিকেশন ব্যবহার করে আপনাকে মিডলওয়্যারটি লিখতে হবে use অনুরোধে টোকেনটি পরীক্ষা করতে ব্যবহার করুন।

এই উদাহরণটি কোনও মাউন্ট পাথ ছাড়াই একটি মিডওয়্যারের ফাংশন দেখায়। অ্যাপ্লিকেশনটির অনুরোধ পাওয়ার সাথে সাথে ফাংশনটি কার্যকর করা হয়।

var app = express()

app.use(function (req, res, next) {
  console.log('Time:', Date.now())
  next()
})

https://expressjs.com/en/guide/using-middleware.html থেকে রেফারেন্স


app.use () মিডওয়্যারের নয়। মিডলওয়্যারটি হ'ল অ্যাপ্লিকেশন ()
নেটটিসি

0

অ্যাপ.ইউজ (পাথ, মিডলওয়্যার) মিডলওয়্যার ফাংশনকে কল করতে ব্যবহৃত হয় যা সংশ্লিষ্ট পাথের জন্য রুটটি আঘাতের আগে ডাকা প্রয়োজন। একাধিক মিডলওয়্যার ফাংশন একটি অ্যাপ.ইউজের মাধ্যমে আহ্বান করা যেতে পারে।

অ্যাপ্লিকেশন। ('/ আনুন', প্রয়োগশক্তি ') -> প্রয়োগ / অনুমোদন মিডলওয়্যার fn কল করা হবে যখন ' / ফেচ 'দিয়ে শুরু করা একটি অনুরোধ আসে। এটি / ফেচ / ব্যবহারকারী , / আনয়ন / আইডি / {আইডি} ইত্যাদি হতে পারে

কিছু মিডলওয়্যার ফাংশন অনুরোধ নির্বিশেষে কল করতে হতে পারে। এই জাতীয় ক্ষেত্রে, কোনও পাথ নির্দিষ্ট করা যায় না এবং যেহেতু পাথটি ডিফল্ট হয় / এবং প্রতিটি অনুরোধ / দিয়ে শুরু হয় , তাই এই মিডলওয়্যার ফাংশনটি সমস্ত অনুরোধের জন্য ডাকা হবে।

app.use (() => {// একটি সাধারণ পরিষেবা শুরু করুন})

পরবর্তী () এফ.এন.কে প্রতিটি মিডলওয়্যার ফাংশনটির মধ্যে কল করা প্রয়োজন যখন একাধিক মিডলওয়্যার ফাংশন অ্যাপ্লিকেশনটিতে ব্যবহার করা হয় , অন্যথায় পরবর্তী মিডওয়্যার ফাংশনটি কল করা হবে না।

তথ্যসূত্র: http://expressjs.com/en/api.html#app.use

দ্রষ্টব্য: ডকুমেন্টেশন বলছে যে আমরা বর্তমান মিডলওয়্যার ফাংশনের মধ্যে পরবর্তী ('রুট') কল করে বর্তমানের অনুসরণের মিডলওয়্যার ফাংশনগুলিকে বাইপাস করতে পারি , তবে এই কৌশলটি আমার জন্য অ্যাপ্লিকেশন ব্যবহার করে না তবে অ্যাপটির সাথে কাজ করেছে M নীচের মতো পদ্ধতি । সুতরাং, fn1 এবং fn2 কল হয়েছিল তবে fn3 নয়।

app.get('/fetch', function fn1(req, res, next)  {
    console.log("First middleware function called"); 
        next();
    }, 
    function fn2(req, res, next) {
        console.log("Second middleware function called"); 
        next("route");
    }, 
    function fn3(req, res, next) {
        console.log("Third middleware function will not be called"); 
        next();
    })
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.