السلام عليكم ورحمة الله نواصل معكم سلسلة شرح nodejs التي بدأناها معكم والتي نقدم فيها دروس لشرح كيفية انشاء تطبيقات ويب باستخدام بيئة nodejs، في هذا الدرس سنوضح لكم كيفية ارسال محتوى html من سيرفر nodejs إلى المتصفح.

محتويات الدرس

1- كيف يمكنك قراءة ملف html من خلال fs module في بيئة nodejs
2- استخدام دالة writeHead لتحديد نوع الاستجابة المرسلة وتحديد حالتها

كيف يمكنك قراءة ملف html في nodejs

كما وضحنا مسبقا في الدرس الأول من دورة شرح nodejs أن nodejs تعتمد على عدد من المكتبات الداخلية المبنية بداخلها وكل مكتبة لها عدد من الدوال التي تقدمها لك لاستخدامها في امور مختلفة أثناء تطويرك للموقع، ولكي تقرأ ملف html ثم ترسله إلى المتصفح كاستجابة من السيرفر فأنت بحاجة إلى استخادم مكتبة من مكتبات النود وهي المختصة بالتعامل مع الملفات وتسمى هذه المكتبة بـ “fs” وهي اختصار لكلمة file system والتي تعني بالعربية نظام الملفات حيث يمكنك من خلالها قراءة ملف او تعديلة او كتابة ملف جديد او حذف الملف وغيرها من الامور المهمة التي قد تحتاجها أثناء تطويرك للموقع باستخدام nodejs ويتم استدعاء هذه المكتبة بالشكل التالي:

const fs = require("fs");

انت الأن بحاجة إلى انشاء ملف html بسيط ووضع فيه محتوى بسيط كالتالي:

<!DOCTYPE html>
<html>
    <head>
        <title>nodejs app</title>
    </head>
    <body>
        <h1>أهلا بالعالم</h1>
    </body>
</html>

بعد ذلك ستقوم بانشاء ملف جافا سكريبت وتستدعي فيه fs المسؤولة عن التعامل مع الملفات بهذا الشكل:

const fs = require("fs");

لقراءة ملف في بيئة nodejs يوجد ثلاث دوال لانجاز هذه المهمة ويمكنك الاطلاع على هذا الدرس لمعرفة كل دالة بالتفصيل والفرق بينهما.

بعد ذلك سنقوم باستدعاء مكتبة http لانشاء سيرفر نود جي اس

const http = require("http");
const fs = require("fs");
const Server = http.createServer(() => {

})

كما هو موضح في الكود السابق فإنا قمنا بانشاء سيرفر باستخدام مكتبة http وذلك باستخدام فانكشن تسمى createServer وهذه الدالة تأخذ معامل واحد وهو دالة يتم استدعائها عندما يقوم اي شخص بالولوج إلى الموقع وسنقوم بقراءة ملف ال html داخل هذه الدالة وإرساله إلى المتصفح أو الزائر.

في هذا الدرس سنستخدم دالة fs.readFile لقراءة ملف ال html كما هو موضح بالشكل التالي:

const http = require("http");
const fs = require("fs");
const Server = http.createServer((req, res) => {
   fs.readFile("./index.html", (data) => {
       return res.end(data);
   })
})

ثم بعد ذلك نقوم بتحديد ال port الذي سيعمل عليه سيرفر النود جي اس الخاص بنا وسيكون رقم البورت 4000

const http = require("http");
const fs = require("fs");
const Server = http.createServer((req, res) => {
   fs.readFile("./index.html", (data) => {
res.writeHead(200, {'Content-Type': 'text/html'});
       return res.end(data);
   })
})

Server.listen(4000)

بهذا قد قمنا بانشاء سيرفر بسيط يقوم بارسال محتوى html ولتشغيل هذا السيرفر ستكتب في التيرمينال أو محرر الأوامر الخاص بك: node app.js
بهذا يمكنك الأن الذهاب إلى المتصفح وكتابة :
localhost:4000
بهذا نكون انتهينا من شرح انشاء سيرفر nodejs بسيط وارسال محتوى html للمتصفح