مسارات إضافية
جزء من قسم أساسيات Express في رحلة Node.js على Coddy. الدرس 3 من 23.
يحتوي الموقع على أكثر من صفحة، لذا يحتاج الخادم إلى مسار لكل مسار URL.
app.get('/books', (req, res) => {
res.send('12 books on the shelf');
});
app.get('/opening-hours', (req, res) => {
res.send('Monday to Friday, 10 to 6');
});يقرأ Express مسار كل طلب ويستدعي المسار الذي يطابقه: يصل GET /books إلى الدالة الأولى، وGET /opening-hours إلى الثانية. أما المسار الذي لا يقابله أي مسار محدد، فيعرض Express صفحة 404 الخاصة به. يبدأ مسار كل مسار محدد دائمًا بـ /.
عاد Recipe Box، ومعه ملف data.js يحتوي على أربع وصفات ومسار /recipes يسرد عناوينها.
التحدي
سهليحتاج Recipe Box إلى صفحة «نبذة عنا» بجانب الصفحة الرئيسية وقائمة الوصفات.
- في
server.js، عند التعليق// Add the /about page here.، أضف مسارًا للمسار/about. يرسل هذه الجملة، مع النقطة في نهايتها:Recipe Box collects family recipes. - اترك المسارين
/و/recipesكما هما.
جرّب ذلك: اضغط على «تشغيل» وأرسل /about. ينبغي أن ترى Recipe Box collects family recipes. أرسل /recipes: ستظهر عناوين الوصفات الأربع، كل عنوان في سطر. ثم أرسل /about-us. لا يوجد مسار بهذا الاسم، لذا يستجيب Express برمز الحالة 404 وCannot GET /about-us. تعرض قائمة المسارات في شريط الطلب المسارات التي يتضمنها تطبيقك.
جرّب بنفسك
import express from 'express';
import { recipes } from './data.js';
const app = express();
app.get('/', (req, res) => {
res.send('Welcome to Recipe Box');
});
// ترسل type('text') نصًا عاديًا، لذا يظهر كل عنوان في سطر مستقل.
app.get('/recipes', (req, res) => {
res.type('text').send(recipes.map((recipe) => recipe.title).join('\n'));
});
// أضف صفحة /about هنا.
app.listen(3000, () => {
console.log('Recipe Box is running on port 3000');
});
جميع دروس أساسيات Express
تدرّب بنفسك: Playground لـ Express