English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS دروس أساسية

NodeJS Express.js

NodeJS 缓冲&URL;

NodeJS MySql

NodeJS MongoDB

NodeJS ملف (FS)

NodeJS أخرى

المكونات الأوسطية في Express.js

مكتبة Express.js الطرفية

ما هو الطرفية؟

الطرفية هي وظيفة يمكن الوصول إليها من خلال موضوع الطلب والاستجابة ويمكن استخدامها في دورة الطلب-الاستجابة للاستجابة.

في هذا الدرس، سنتعلم كيفية تعريف دالة الطرفية في تطبيق Node.js Express وكيفية استدعاء دالة الطرفية.

مصطلحات الطرفية

request – هو الطلب HTTP الذي يصل إلى تطبيق Express عند إرسال العميل طلب HTTP (مثل PUT، GET وما إلى ذلك) يحتوي على خصائص مثل سلسلة الاستعلام، معلمات URL، الرؤوس وما إلى ذلك.

response– الموضوع يعرض الاستجابة HTTP التي يرسلها تطبيق Express عند استقبال طلب HTTP.

next – next يستخدم لمتابعة الطرفية التالية في قائمة الطرفيات.

request-response cycle(دورة الطلب-الاستجابة) – دورة العمليات التي تنفذ من بداية الدخول إلى تطبيق Express حتى مغادرة الاستجابة لتكون الطلب.

قائمة الطرفيات– قائمة الطرفيات التي يتم تنفيذها أثناء دورة الطلب-الاستجابة.

تعريف وظيفة الطرفية

كما ذكرنا بالفعل في تعريف وظيفة الطرفية، يمكنه الوصول إلى الطلب، موضوع الاستجابة والدالة التالية.

النحو هو نفسه لنموذج دالة JavaScript. يتلقى الطلب، موضوع الاستجابة والدالة التالية كمعلمات.

 
 function logger(req, res, next) { 
    
 }

 هنا logger هو اسم الدالة، req هو موضوع الطلب HTTP، res هو موضوع الاستجابة النود، next هو الدالة التالية في دورة الطلب-الاستجابة.

يمكنك الوصول إلى جميع خصائص وطرق الموضوع request object هو req.

بالتالي، يمكنك الوصول إلى جميع خصائص وطرق الموضوع response object هو res.

الاستدعاء في داخـل وظيفة الوسيط next هو اختياري. إذا استخدمت جملة next()، فإنها تستمر في تنفيذ الوسيط التالي في دورة الطلب-الاستجابة. إذا لم تستدعي وظيفة next()، فإن تنفيذ الطلب الحالي سيتوقف هنا.

function logger(req, res, next) { 
    // Your code
    next() // Call the next function in the middleware stack
 }

استدعاء الوسيط

في تطبيق Express، يمكنك استخدام وظيفة use على كائن التطبيق لاستدعاء الوسيط.

var express = require('express') 
var app = express() 
 
function logger(req, res, next) { 
   // Your code
   next() 
 } 
 
app.use(logger)

مثال وساطة Express.js

في هذا المثال، سنحدد وساطة تسمى logger، وسيعمل هذا الوسيط على تسجيل الوقت الحالي وطلب URL في الشاشة.

app.js

var express = require('express') 
var app = express() 
 
// Define middleware function
function logger(req, res, next) { 
   console.log(new Date(), req.url) 
   next() 
 } 
 
// Call logger middleware in each request-response cycle
app.use(logger) 
 
// Execute route for path “/”
app.get('/', function(req, res) { 
   res.send('This is a basic Example for Express.js by w3codebox') 
 ) 
 
// Start server
var server = app.listen(8000, function(){ 
    console.log('Monitoring on port 8000...') 
 )

إبدأ هذا التطبيق، ثم انقر في متصفح الويب على URL التالي.

  • http://localhost:8000/

  • http://localhost:8000/hello-page/

سيكون الخروج

للطلبات المقدمة إلى التطبيق الذي يستخدم端口 8000، نضيف وظيفة وساطة. بالنسبة لـ URL http://localhost:8000/، يكون URL /، لذا يكون خروج logger هو الوقت الحالي و'/' نفسه. بالنسبة لـ URL '/hello-page/'، يكون الأمر نفسه.