Bassel Jhr نشر 9 أغسطس 2021 أرسل تقرير مشاركة نشر 9 أغسطس 2021 (معدل) لدي مساري توجيه ضمن إطار العمل express متشابهين: /posts/:slug/ /articles/:slug/ وقمت بتكرار نفس الكود إلى كل مسار: app.get('/posts/:slug', samecode) app.get('/articles/:slug', samecode) ولكن أرغب بدمج هذه المسارات بحيث يتم تنفيذ نفس الكود عند الوصول إلى أي منهما: app.get('/[posts|articles]/:slug', function(req, res, next) { .... }) فكيف يمكنني تحقيق ذلك بدلاً من تكرار الشيفرة البرمجية لكل مسار؟ تم التعديل في 9 أغسطس 2021 بواسطة Bassel Jhr 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 عبدالباسط ابراهيم نشر 9 أغسطس 2021 أرسل تقرير مشاركة نشر 9 أغسطس 2021 نعم يمكنك تنفيذ المطلوب بواسطة الكود التالي app.get(/^\/(posts|articles)\/(.+)/, function (req, res, next) { }); لاحظ أن (+) يعني وجود slug حيث أن يجب أن يحتوي حرف واحد للتأكيد من وجود ال slig أو يمكنك استخدام الحل التالي app.get('/:type(posts|articles)/:id', ...) اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
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رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.