روز ۳۷ یادگیری MERN Stack
من در روز ۳۷ از مسیر یادگیری MERN stack هستم.
دیروز مسیریابی ساختاری (structural routing) را برای صفحاتی مانند /about و /contact راهاندازی کردم. امروز به سراغ توسعه بکاند (backend development) رفتم و روی تجزیه URL (URL parsing) و پارامترهای پرسوجو (query parameters) تمرکز کردم.
وقتی در یک وبسایت به دنبال محصولی میگردید، دادهها در URL قرار دارند. من یاد گرفتم که چگونه این دادهها را در Node.js بخوانم و از آنها استفاده کنم.
یک URL چیزی فراتر از یک رشته متنی است؛ بلکه یک شیء ساختاریافته (structured object) است. نحوه عملکرد آن به این صورت است:
- Pathname: این مکان اصلی است، مانند
/searchیا/api/products. - Query: اینها جفتدادههای بعد از علامت سوال هستند، مانند
?name=ali&id=7.
من از ماژول 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);
این روش، متن پرسوجو (query text) را به یک شیء تمیز JavaScript تبدیل میکند. این کار مدیریت دادهها را ساده و کارآمد میکند.
منبع: https://dev.to/ali_hamza_589ec7b3eb6688d/day-37-of-learning-mern-stack-4758