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