اليوم ٣٧ من تعلم MERN stack

أنا في اليوم السابع والثلاثين من رحلتي في تعلم MERN stack.

بالأمس، قمت بإعداد التوجيه الهيكلي (structural routing) لصفحات مثل /about و /contact. واليوم انتقلت إلى تطوير الخلفية (backend development)، حيث ركزت على تحليل الروابط (URL parsing) ومعلمات الاستعلام (query parameters).

عندما تبحث عن منتج في موقع إلكتروني، تكون البيانات موجودة في الـ URL. لقد تعلمت كيفية قراءة هذه البيانات واستخدامها في Node.js.

الـ URL هو أكثر من مجرد سلسلة نصية؛ إنه كائن (object) مهيكل. وإليك كيفية عمله:

استخدمت وحدة url لتفكيك هذه العناوين. يقوم المحلل (parser) بتحويل الـ URL الخام إلى كائن قابل للاستخدام.

إليك الكود الذي استخدمته اليوم:

const http = require("http");
const url = require("url");

const server = http.createServer((req, res) => {
    let parsedUrl = url.parse(req.url, true); 
    let pathname = parsedUrl.pathname;
    let queryData = parsedUrl.query;

    if (pathname === "/search") {
        res.writeHead(200, { "Content-Type": "text/plain" });
        res.end(`Searching logs for user: ${queryData.name} with ID: ${queryData.id}`);
    } else {
        res.end("Standard Endpoint View");
    }
});
server.listen(8000);

تقوم هذه الطريقة بتحويل نص الاستعلام إلى كائن JavaScript نظيف، مما يجعل التعامل مع البيانات بسيطاً وفعالاً.

المصدر: https://dev.to/ali_hamza_589ec7b3eb6688d/day-37-of-learning-mern-stack-4758