Menu
CoddyTech

مسارات إضافية

جزء من قسم أساسيات 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 يسرد عناوينها.

challenge icon

التحدي

سهل

يحتاج Recipe Box إلى صفحة «نبذة عنا» بجانب الصفحة الرئيسية وقائمة الوصفات.

  1. في server.js، عند التعليق // Add the /about page here.، أضف مسارًا للمسار /about. يرسل هذه الجملة، مع النقطة في نهايتها: Recipe Box collects family recipes.
  2. اترك المسارين / و/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