اذهب إلى المحتوى
  • 0

استخدام regex في مطابقة المسارات في node.js

Bassel Jhr

السؤال

لدي مساري توجيه ضمن إطار العمل express متشابهين:

/posts/:slug/

/articles/:slug/

وقمت بتكرار نفس الكود إلى كل مسار:

app.get('/posts/:slug', samecode)
app.get('/articles/:slug', samecode)

ولكن أرغب بدمج هذه المسارات بحيث يتم تنفيذ نفس الكود عند الوصول إلى أي منهما:

app.get('/[posts|articles]/:slug', function(req, res, next) {

  ....

})

فكيف يمكنني تحقيق ذلك بدلاً من تكرار الشيفرة البرمجية لكل مسار؟

تم التعديل في بواسطة Bassel Jhr
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

نعم يمكنك تنفيذ المطلوب بواسطة الكود التالي

app.get(/^\/(posts|articles)\/(.+)/, function (req, res, next) {
 
});

لاحظ أن 

  • (+) يعني وجود slug حيث أن يجب أن يحتوي حرف واحد للتأكيد من وجود ال slig

أو يمكنك استخدام الحل التالي

app.get('/:type(posts|articles)/:id', ...)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...