با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، با یکی دیگر از جلسات دوره کامل آموزش Node.js در خدمت شما دوستان هستیم. در این جلسه قصد داریم به آموزش ماژول URL در Node.js و فایل سرور Node.js بپردازیم.
ماژول url یک آدرس وب را به بخش های قابل خواندن تقسیم می کند.
برای وارد کردن این ماژول در برنامه از متد ()require استفاده می کنیم:
1 | var url = require('url'); |
از متد ()url.parse برای تجزیه یک آدرس استفاده می کنیم.
این متد یک شی URL برمیگرداند که هر بخش آدرس به عنوان خاصیت های (Properties) شی است.
1 2 3 4 5 6 7 8 9 10 | var url = require('url'); var adr = 'http://localhost:8080/default.htm?year=2017&month=february'; var q = url.parse(adr, true); console.log(q.host); //returns 'localhost:8080' console.log(q.pathname); //returns '/default.htm' console.log(q.search); //returns '?year=2017&month=february' var qdata = q.query; //returns an object: { year: 2017, month: 'february' } console.log(qdata.month); //returns 'february' |
حالا می دانیم که چگونه یک رشته کوئری را تجزیه کنیم و در جلسه قبل نیز یادگرفتیم که چگونه با فایل ها در node.js کار کنیم.
اجاره دهید تا این دو را با هم ترکیب کنیم و درخواست فایل کلاینت را پردازش کنیم.
دو فایل html درست کرده و آن ها را در همان فولدر فایل های node.js خود ذخیره کنید.
فایل summer.html:
1 2 3 4 5 6 7 | <!DOCTYPE html> <html> <body> <h1>Summer</h1> <p>I love the sun!</p> </body> </html> |
فایل winter.html:
1 2 3 4 5 6 7 | <!DOCTYPE html> <html> <body> <h1>Winter</h1> <p>I love the snow!</p> </body> </html> |
یک فایل node.js ایجاد کنید که فایل درخواست شده را باز کند و محتوا را به کلاینت بر گرداند.
اگر هرچیز اشتباهی دهد، یک خطای ۴۰۴ نمایش داده می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var http = require('http'); var url = require('url'); var fs = require('fs'); http.createServer(function (req, res) { var q = url.parse(req.url, true); var filename = "." + q.pathname; fs.readFile(filename, function(err, data) { if (err) { res.writeHead(404, {'Content-Type': 'text/html'}); return res.end("404 Not Found"); } res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); return res.end(); }); }).listen(8080); |
یاتان نرود که فایل را اجرا کنید:
C:\Users\Your Name>node demo_fileserver.js |
با باز کردن آدرس های زیر در مرورگر می توانید خروجی را مشاهده کنید:
http://localhost:8080/summer.html
خروجی:
|
http://localhost:8080/winter.html
خروجی:
|
جلسه آموزش ماژول URL در node.js نیز به پایان رسید.
در جلسه بعد به معرفی و نصب npm در node.js خواهیم پرداخت. با ما همراه باشید.
همچنین می توانید نظرات و سوالات خود را از طریق بخش نظرات سایت با ما در میان بگذارید.