[MUSIC]
في هذا التمرين، سوف نستكشف بعض وحدات عقدة التعليمات البرمجية. على
وجه الخصوص، سنلقي نظرة على وحدة HTTP المضمنة في عقدة
واستخدام وحدة HTTP لتكوين وبدء تشغيل خادم ويب بسيط.
سننظر أيضًا في كيفية تقديم ملفات ثابتة من خادم Node HTTP الخاص بنا.
سننظر أيضًا في وحدة نظام الملفات ووحدة المسار
وكيف يمكن أن تساعدنا على تقديم ملفات ثابتة في خادم HTTP المستند إلى العقدة.
لذلك دعونا استكشاف بعض وحدات عقدة التعليمات البرمجية في هذا التمرين.
للبدء في هذا التمرين، انتقل إلى موقع مناسب على جهاز الكمبيوتر الخاص بك.
لذلك سنذهب إلى مجلد NodeJS الذي أنشأنا بالفعل في واحدة
من التمارين السابقة.
وفي مجلد NodeJS، سأقوم بإنشاء مجلد جديد باسم عقدة http.
وبعد ذلك، سنقوم بإعداد هذا كتطبيق عقدة.
أيضا، والانتقال إلى مجلد عقدة هتب،
دعونا إنشاء مجلد فرعي هناك اسمه العام والتي سوف تستمر
بعض ملفات هتمل التي سنقوم الخادم من تطبيق عقدة هتب لدينا.
الآن الانتقال إلى محطة، انتقل إلى العقدة،
-http المجلد.
ودعونا تهيئة هذا المجلد ليكون في تطبيقنا.
لذلك سنبدأ مع npm init
وتهيئة هذه الحزمة إلى ملف JSON الخاص بنا هنا.
ثم سنعطي اسم الحزمة كعقدة http
وقبول الإصدار القياسي،
والوصف هو Node HTTP Module مثال.
ونقطة البداية هي index.js، لا أمر اختبار،
لا مستودع git في الوقت الحالي، والمؤلف،
اكتب اسمك، وقبول الباقي كما هو.
ويجب أن يؤدي ذلك إلى إنشاء الحزمة لملف بيان JSON.
الآن دعونا نفتح هذا المشروع في محررنا المفضل.
لذلك اسمحوا لي أن أبدأ بلدي فيسوال ستوديو التعليمات البرمجية في هذا المجلد.
وفي رمز Visual Studio، دعنا نذهب إلى الحزمة إلى ملف JSON الخاص بنا.
ثم سنضيف في برنامج نصي آخر إلى الحزمة،
إلى ملف JSON الخاص بنا يسمى البدء
والذي سينفذ فهرس العقدة.
وتذكر أن تضع فاصلة بعد عقبة الاختبار.
وحفظ التغييرات على ملف package.json.
الآن في مكان المشروع،
قم بإنشاء ملف جديد يسمى index.js.
سنقوم بتكوين هذا index.js لاستخدام وحدة HTTP Node.
حتى في هذا الملف، دعونا نكتب في كونست
هتب = تتطلب («هتب»).
لذلك يمكنك أن ترى أننا نستخدم وحدة كود HTTP،
ونحن نطلب ذلك ببساطة عن طريق تحديد اسم وحدة كود HTTP هناك.
وبالإضافة إلى ذلك، دعونا نعلن,
اثنين من الثوابت هنا وبعد ذلك,
سوف ندعو اسم المضيف
ورقم المنفذ كما 3000 افتراضيا.
الآن دعونا إعداد الخادم.
لإعداد الخادم، سنقول خادم const = http.
تدعم وحدة HTTP طريقة تسمى CreateServer،
لذلك سيستخدمون طريقة CreateServer على ذلك.
هذه الطريقة CreateServer سوف تأخذ وظيفة كمعلمة
وهذه الوظيفة تأخذ
قيمتين كمعلمات، الطلب والاستجابة.
وكما ترون، أنا أكتب وظيفة السهم هنا.
لذا فإن الطلب والاستجابة هما المعلمتان للدالة التي نقدمها
كمعلمة لطريقة CreateServer هنا.
وداخل هذا، سنقول
console.log (req.headers).
حتى هنا، req و res هي طلب HTTP الوارد إلى الخادم.
وهم نوع من كائن استجابة التبويض الذي
سيتم بناؤه من قبل هذا الخادم وإعادته إلى العميل
الذي يتصل بخادم HTTP هذا الذي نقوم بإنشائه هنا.
لذا فإن الطلب هو الطلب الوارد من أي متصفح أو
من أي مكان يحاول الوصول إلى هذا الخادم الذي سنبدأ
باستخدام تطبيق عقدة HTTP هذا الذي نقوم بتطويره هنا.
لذا من الطلب،
يعطينا كائن الطلب الوصول إلى الرؤوس في طلب HTTP الوارد.
لذلك سأقوم بتسجيل
الرؤوس الواردة لطلب HTTP القادمة باستخدام هذا console.log.
فقط لمعلوماتي، فقط لمعرفة من أين يأتي هذا الطلب.
بعد ذلك، يمكننا بناء الاستجابة باستخدام الدقة
وهذا سيوفر لنا طريقة تسمى StatusCode.
ستمكننا StatusCode من إعداد StatusCode لرسالة الاستجابة.
لذلك في هذه الحالة، سأقوم بإعداد StatusCode كـ 200.
إذا كنت تتذكر من المناقشة السابقة حول أساسيات الشبكات،
فستعرف أن StatusCode من 200 يعني أن كل شيء على ما يرام.
وهكذا، قمنا بإعداد رمز الحالة هنا لرسالة الاستجابة ومن
ثم سنقوم أيضا بإعداد رأس لرسالة الاستجابة.
وأحد مخاوف الرأس من أننا ذاهبون
إلى إعداد يسمى نوع المحتوى.
ونوع المحتوى،
وسوف نحدد هذا ليكون «text/html».
وبالتالي فإن هيئة الاستجابة سوف تحتوي على البيانات في شكل أتش تي أم أل هنا.
لذلك يتم إعداد الرأس لإعلام العميل الذي تقوم بإرساله
في الاستجابة ويتم تنسيق النص بتنسيق html.
ثم أخيرا، سوف نقول res.end (').
لذلك هذا ينهي الاستجابة هنا، وعندما يتم ذلك،
سيتم إرسال هذه المعلومات مرة أخرى إلى العميل.
حتى هنا، اسمحوا لي فقط بناء صفحة هتمل في خط هنا،
لذلك سأقول <مرحبا،
العالم! .
وأغلق علامة h1، وعلامة النص،
وعلامة html، هناك حق.
وهذا هو استجابة HTML صالحة التي
يمكن إرسالها مرة أخرى من الخادم لدينا هنا.
لذلك هذا الخادم، كما تتوقع أن تذهب ببساطة إرسال عالم مرحبا إلى العميل.
حتى الآن بعد أن قمنا بإعداد الخادم، نحن بحاجة لبدء هذا الخادم.
لبدء تشغيل هذا الخادم في ملاحظة،
نحن بحاجة إلى القول server.listen.
وسيبدأ هذا منفذ الاستماع الذي سيستمع إليه الخادم
للطلبات الواردة.
وسيبدأ هذا عند رقم المنفذ بالنظر إلى المنفذ الخاص بي،
والذي قمنا بإعداده بالفعل هنا في منفذ const.
والمعلمة الثانية هي اسم المضيف الذي قمنا بإعداده بالفعل في وقت سابق.
والمعلمة الثالثة هي وظيفة سيتم
تنفيذها عند بدء تشغيل الخادم.
في هذه الوظيفة نذهب فقط لطباعة المعلومات حول الخادم.
حتى هنا أنا فقط ذاهب إلى القول console.log.
وفي console.log،
سأقوم بطباعة المعلومات لذلك سأستخدم اقتباس خلفي.
لذا لاحظ استخدام الاقتباس الخلفي ليس الاقتباس العادي.
السبب في أننا نستخدم ذلك هو أننا سنستخدم
بعض المتغيرات داخل السلسلة التي سنقوم ببنائها هنا.
لذلك سنقول الخادم الذي يعمل في http://.
وبعد ذلك سوف نقول $
ثم اسم المضيف.
أذكر أن اسم المضيف هذا، كنت قد أعلنت بالفعل في وقت سابق.
ثم الجزء الثاني،
سنقول: $ والميناء.
لذلك سيتم استبدال هاتين القيمتين بالقيم المقابلة.
وبما أننا أرفق هذا في علامات الاقتباس الخلفية.
وإذا قمت بتضمين شيء داخل رفع الدولار،
فسيتم استبدال قيمته في هذه السلسلة هنا.
هذا كل شيء
لدينا خادم HTTP بسيط وتشغيله.
لذلك دعونا حفظ التغييرات على هذا.
وسنذهب ونبدأ طلبنا ونرى ما يخدمه.
الذهاب إلى المحطة، دعونا اكتب بداية npm،
وهذا يجب أن يبدأ التطبيق لدينا.
ونلاحظ أنه يطبع مقولتنا أن الخادم يعمل
في http://localhost:3000.
الآن يمكنك الوصول إلى عنوان URL هذا عن طريق كتابته في شريط العناوين في أي متصفح.
لذلك اسمحوا لي أن أبدأ نافذة متصفح كروم ثم اكتب هذا
ومعرفة ما سيعود الخادم.
بدء نافذة جديدة
اسمحوا لي فقط اكتب في http://
localhost: 3000.
وهذا يجب أن يعود مرحبا العالم كما نتوقع.
الآن عندما نذهب إلى وحدة التحكم ترى أنه على وحدة التحكم هناك
تفاصيل رأس الطلبات الواردة تتم طباعتها هنا.
بعض الأشياء من السهل جدا تحديد مكان هنا.
لذلك هذا هو المضيف، المضيف المحلي: 3000، وترى أيضًا أنه تم
تعيين «وكيل المستخدم» على «Chrome» هنا، وهو إصدار Chrome الذي أستخدمه هنا.
لذلك هذا هو التوضيح مثيرة للاهتمام لرسالة طلب HTTP.
وما هو وارد في رأس رسالة الطلب التي جاءت هنا.
مثيرة جدا للاهتمام لمراقبة ما هو قطع الخاص بك
يطبع على الشاشة هنا.
مع هذا، نكمل النصف الأول من هذا التمرين.
الآن يمكننا تهيئة هذا التطبيق في مستودع Git،
ثم حفظ التغييرات إلى مستودع Git.
لذلك دعونا نمضي قدما ونفعل ذلك بعد ذلك.
في نوع المطالبة، احصل على init، والتي تمت تهيئة المستودع.
ثم سنقول حالة git وترى أن هذين الملفين جديدان.
لذلك سنقول إضافة بوابة.
والقيام جيت ارتكاب
-m «عقدة هتب مثال 1".
ثم تحقق من ذلك في مستودع Git الخاص بنا.
الآن بعد أداة أخرى مفيدة جدا
عندما نبحث في تطبيقات جانب الخادم يسمى ساعي البريد.
الآن يأتي Postman في شكل ملحق متصفح Chrome أو
أداة مستقلة يمكنك تنزيلها وتثبيتها على جهاز الكمبيوتر الخاص بك.
لذلك للقيام بذلك، في متصفحنا دعونا نكتب http.
getpostman.com.
ثم هذا هو المكان الذي يمكنك الحصول على
أداة ساعي البريد لنظام التشغيل الخاص بك وتثبيته.
تسمح لك أداة ساعي البريد بإنشاء طلبات HTTP ثم إرسالها.
كما يمنحك مرونة إعداد رؤوس
طلب HTTP الخاص بك قبل إرساله.
وبعد ذلك عندما تعود الاستجابة، يمكنك فحص الاستجابة
بما في ذلك رؤوس الاستجابة التي تعود من جانب الخادم.
لذلك أجد ساعي البريد ليكون مفيدا جدا.
هناك عدد قليل من الأدوات الأخرى مثل هذا،
ولكن يبدو أن ساعي البريد هو الأفضل في السوق في الوقت الحالي.
لذلك أنا ذاهب للاستفادة من ساعي البريد من خلال بقية هذه الدورة.
إذا كنت لا ترغب في تثبيته،
فيمكنك أيضًا تثبيت ملحق متصفح Chrome لـ Postman ثم استخدامه.
سأقوم بتنزيل إصدار macOS من Postman
ثم تثبيته على جهازي ومن ثم الاستفادة منه.
بمجرد
تثبيت ساعي البريد، إما الإصدار المستقل أو إضافة متصفح Chrome، يمكنك بدء تشغيله.
وسترى أن واجهة المستخدم هي نفسها إلى حد ما
لكل من الإصدار القياسي وكذلك ملحق متصفح Chrome.
وبمجرد أن يكون لديك ساعي البريد قيد التشغيل،
ثم اكتب في مربع طلب عنوان URL،
المضيف المحلي: 3000.
وإرسال الطلب إلى نفسك.
تأكد من تشغيل خادم عقدة HTTP وتشغيله.
لذلك عند إرسال الطلب،
ستحصل على الفور على استجابة من الخادم مع رمز HTML هنا.
الآن ميزة، كما ترى،
مع استخدام ساعي البريد هو أنه يمكنك رؤية النص الفعلي للرسالة.
يمكنك أيضًا الاطلاع على الرؤوس لمعرفة ما تم إرساله مرة أخرى من الخادم.
يمكنك أيضًا إعداد الكثير من التفاصيل في ساعي البريد عند إرسالك.
طلب من الخادم.
الآن العديد من هذه قد لا يكون من السهل جدا القيام به باستخدام نافذة المتصفح القياسية.
لذلك هذا هو السبب في أنني أفضل استخدام [غير مسموع]
لتوليد طلبات هتب إلى الخادم الخاص بي.
ثم مراقبة الاستجابة التي تعود من جانب الخادم.
لاحظ أيضًا أنه يعرض رمز الحالة هنا وبعض المعلومات الأخرى حول
الطلب ووقت الاستجابة من جانب الخادم.
الآن بعد أن أنشأنا خادم HTTP القائم على عقدة بسيطة،
دعونا توسيع نطاقه أكثر، دعونا إنشاء ملفات HTML زوجين في المجلد العمومي.
سنطلق عليه هذا كـ index.html.
ثم أيضا aboutus.html،
ومن ثم مجرد تضمين بعض المعلومات العظام العارية هنا.
لذلك سنقول أتش تي أم أل،
والعنوان كما هذا هو index.html.
ثم سنقوم بكتابة نص صفحة html.
قل h1 Index.html
والجسم ثم هذا هو
محتويات هذا الملف.
بعض التعليمات البرمجية هتمل الأساسية هنا، اسمحوا لي نسخ هذا
ثم لصق أيضا في صفحة aboutus.html.
ومحتويات ملف aboutus.html، هذا كل شيء.
لقد أنشأنا للتو صفحتين HTML،
وهذه صفحات HTML ثابتة قمنا بإنشائها في المجلد العمومي.
الآن، هل يمكننا إعداد خادم هتب عقدة لدينا لتكون قادرة على خدمة صفحات ثابتة؟
لذا هذا ما سنقوم بتكوينه في الجزء الثاني من هذا التمرين.
حتى العودة إلى ملف index.js،
بالإضافة إلى وحدة التعليمات البرمجية هتب،
وأنا ذاهب أيضا لاستيراد وحدة رمز نظام الملفات.
وهذه الوحدة رمز المسار.
يسمح لك المسار بتحديد جزء الملف في نظام الملفات المحلي الخاص بك.
وحدة نظام الملفات تسمح لك لقراءة
وكتابة الملفات من نظام الملفات المحلي الخاص بك.
لذلك مع هذا، سيقولون خادم ثابت، Http.createServer.
بالنسبة لسجل وحدة التحكم، بدلاً من كتابة رؤوس الطلبات بالكامل،
سأكتب ببساطة معلومات كافية فقط، لذلك
سأقول، طلب،
فقط عنوان URL لهذا الطلب.
عن طريق الطريقة.
لذا فإن الطريقة ستكون إما الحصول على مشاركة المنفذ أو حذف الطرق.
لذلك هذا سيسجل هذه المعلومات.
الآن، ما سنفعله هو بدلاً من إرسال
هذا الرد، الاستجابة العالمية القياسية للترحيب.
هنا، سنقوم بفحص الطريقة
وبعد ذلك سنقول إذا req.method يساوي GET.
لذلك سنقوم فقط بخدمة طلبات GET في هذا المثال.
خلاف ذلك، سوف نقول أن هناك إذا.
حتى إذا كان هناك طلب جيت الذي يأتي في،
ثم سنقوم بفحص،
عنوان ورل الذي يأتي في،
لذلك سنقول إذا req.url هو/،
ونحن سوف نقول فيليورل يساوي هتمل.
لذلك إذا لم تحصل على اسم ملف محدد
ولكنك فقط ترسل طلبًا إلى رمز المضيف المحلي 3000.
وسوف الافتراضي إلى index.html،
وإلا فإنه سوف يقول فيليورل يساوي req.url.
بهذه الطريقة، قمت بإنشاء أي ملف إلى الخادم.
الآن، سنقول أننا سنجد مسار الملف،
سنقول المسار، حل،
وبالتالي فإن وحدة المسار تدعم طريقة الحل هذه، لذلك هذا سوف
يترجم هذا إلى ملف مجلدات المسار الكامل،
الملف الذي قمنا ببنائه للتو، و
FileUrl التي قمنا ببنائها للتو.
لذلك سيعطينا هذا المسار الكامل للملف،
وبعد ذلك سنقول FileExtension ثابت.
لذلك إذا كنت تريد التأكد من
أن ملحق اسم الملف هو HTML.
لذا من FilePath،
سنقوم بفحص امتداد اسم الملف
ثم سنقول إذا FileExt ==.
لذلك إذا كان ملف HTML، فإننا نعرف كيفية خدمته من هذه
العلاقة الخاصة لخادم HTTP العقدة.
لذلك سنقول إذا كان امتداد الملف هو HTML، ثم نعرف أن
الملف هو ملف HTML ولدينا ملفين، فهرس و aboutus.html.
لذلك سوف نتحقق لمعرفة ما إذا كان هذا الملف موجودًا، لذلك
سنقول إذا كان الملف موجودًا، FilePath.
لذا ستتحقق الطريقة الموجودة لمعرفة ما إذا كان الملف موجودًا،
لذا سنقول fs.exists (FilePath)،
وسيأخذ هذا
كمعلمة ثانية، وظيفة معاودة الاتصال.
لذا لاحظ استخدام أول وظيفة معاودة الاتصال في مثالنا.
لذلك سيتم استدعاء وظيفة رد الاتصال هذه مع وجود هذه المعلمة هناك.
لذلك داخل معلمة رد الاتصال هذه، سيكون هذا موجودًا إما صحيحًا أو خاطئًا.
لذلك هذه هي معلمة الإرجاع لوظيفة رد الاتصال هذه.
حتى هنا, ونحن سوف تحقق,
وسنقول إذا (! )،
مما يعني أن الملف غير موجود،
ثم سنقول Res.statusCode = 404.
تذكر أنه إذا كان الملف غير موجود، سوف ترسل رمز الحالة 404 قائلا،
لا يمكنك العثور على الملف.
ثم سنقول Res.Setheader،
وسنقوم بتعيين الرأس إلى «نوع المحتوى»،
«text/html».
ثم نحتاج إلى إرسال ملف HTML هنا أو رمز HTML.
لذلك سوف أفعل رمز هتمل الأساسي، هتمل الجسم h1.
خطأ 404،
سنقول، + فيليورل +
'لم يتم العثور عليها'.
وإغلاق، صفحة HTML.
حتى هنا، كما لاحظت، كنت تستخدم وظيفة موجودة
من وحدة نظام الملفات للتحقق من وجود الملف.
لذلك تعطي مسار الملف كمعلمة الأولى،
والثانية هي وظيفة رد الاتصال.
داخل وظيفة رد الاتصال هذه، إذا كانت تقول أن هناك خطأ،
فسترسل رسالة خطأ 404 القياسية، قائلا أنه لا يمكنك العثور على الملف.
وبعد أن نفعل ذلك، سنقوم ببساطة،
والعودة، وإلا،
سوف نقول Res.StatusCode
= 200، Res.Setheader،
('نوع المحتوى'، 'text/html').
الآن، نحن بحاجة إلى قراءة في الملف ومن ثم إرسال الملف.
لذلك هذا هو المكان، من وحدة نظام الملفات،
وسوف نستخدم كريتيريدستريم،
والتي سوف تأخذ فيليباث كمعلمة.
لذلك سوف تقرأ هذه الطريقة كريتيريدستريم في الملف من هذا فيليباث.
ثم تحويل ذلك إلى تيار من وحدات البايت،
وبعد ذلك سوف توجيه هذا من خلال الاستجابة.
بحيث سيتم تضمينها في الاستجابة، في نص الاستجابة.
وبهذه الطريقة، اتخذنا الملف للتو
ثم شيدته في الاستجابة هنا.
وهذا كل شيء، الملف جاهز ليتم إرساله، حسنا؟
لذلك هذا هو إذا كان امتداد الملف هو html،
ونحن نتحقق للتأكد من أنك تتعامل مع هذا بشكل صحيح.
لذلك هذا هو المكان الذي سوف تقرأ في الملف ومن ثم إرساله.
إذا كان امتداد الملف ليس html، فبالطبع، نحتاج إلى إرسال رسالة خطأ.
لذلك هناك سوف نرى، ونحن سوف نسخ هذا
معين، رمز من هنا.
ومن ثم لصقه هناك.
سنقول، آخر statusCode = 404، نص السياق/html،
ورسالة الخطأ تقول، خطأ 404، فيليورل.
لم يتم العثور عليه،
ولكنه ليس ملف HTML.
لذلك هذا هو الخطأ الذي سنرسله مرة أخرى في هذه الحالة.
وأخيرا، بالنسبة للحالة الأخيرة،
لذلك نحن هنا نقول الطريقة.
لذلك هذا آخر يتوافق مع طريقة الطلب.
لذا إذا كانت طريقة الطلب ليست GET، ولكن بعض طريقة الطلب الأخرى،
فلن نتعامل مع ذلك في هذا الإصدار تطبيق Node الخاص بنا.
لذلك سنرسل مرة أخرى statusCode 404
، html المحتوى، وسنقول خطأ 404.
وسنقول، طريقة req،
لا، مدعوم،
غير معتمد من قبل خادم HTML هذا هنا، هذا كل شيء.
مع هذه التغييرات، ونحن الآن على استعداد لإعادة تشغيل متصفحنا.
ثم السماح لها بخدمة ملفات HTML هنا.
لذلك دعونا حفظ التغييرات، ومن ثم انتقل وإعادة تشغيل الخادم لدينا، ومن
ثم فحص ما يرسل عندما نرسل طلبات مختلفة إلى الخادم.
الانتقال إلى المحطة الطرفية، إذا كان الخادم قيد التشغيل، قم
بإيقافه عن طريق كتابة Ctrl+C، ثم أعد تشغيل الخادم.
وعندما يكون الخادم قيد التشغيل، دعنا نرسل بعض الطلبات إليه.
أولا، من متصفح، وبعد ذلك من ساعي البريد.
انتقل إلى نافذة المتصفح الخاص بك، دعنا نكتب المضيف المحلي: 3000،
ونرى أن هذا يعيد ملف index.html كما نتوقع.
ثم سنقول لوكالهوست: 3000/index.html،
وهذا سيعود أيضا ملف index.html.
الآن إذا أرسلنا aboutus.html، فإنه يقول Aboutus.html، ويعيده بشكل صحيح.
دعونا الآن إرسال طلب ل aboutus.txt، ونرى ما يفعله.
لذلك يقول /aboutus.txt ليس ملف HTML.
ثم دعونا نرسل طلبا إلى test.html.
ونحن نعلم أن test.html غير موجود، لذلك يقول /test.html لم يتم العثور عليها.
لذلك نرى أنه باستخدام المتصفح، ونحن قادرون على جلب
تلك الملفات الموجودة، والخادم قادر على إرسال الملفات إلى المتصفح.
دعنا نذهب الآن إلى ساعي البريد ونحاول إنشاء نفس الطلبات،
ونرى الاستجابة من الخادم.
بعد ذلك، انتقل إلى ساعي البريد، دعنا نرسل طلب GET إلى المضيف المحلي: 3000/.
وترى أن هذا يعود الملف index.html.
دعونا نرسل طلبا إلى aboutus.html.
ثم ترى أنه يعود الملف aboutus.html.
ثم سنرسل طلبًا إلى الملف النصي،
ثم يقول الخطأ 404، وليس ملف HTML.
وسترون أن الحالة هنا تقول، 404 لم يتم العثور عليها.
ثم سنقوم، بدلاً من إرسال طلب GET،
نرى أن هذه هي ميزة استخدام ساعي البريد، سأرسل طلب PUT.
وستلاحظ أن هذا يقول، خطأ: PUT غير معتمد،
وهكذا مع الحالة 404 هنا، وهلم جرا.
إذن هذه هي الطريقة التي يمكنك بها تكوين خادم Node HTTP
لتكون قادرة على تقديم الملفات وملفات HTTP في هذه الحالة بالذات.
الآن يمكنك بسهولة تخيل توسيع
خادم HTTP هذا للتعامل مع العديد من أنواع الملفات المختلفة وهلم جرا.
ولكن بطبيعة الحال، في المقابل،
فإن رمز أيضا الحصول على أكثر تعقيدا من ما لدينا في هذه اللحظة.
مع هذا، نكمل هذا التمرين.
في هذا التمرين، رأينا كيف يمكننا إعداد
خادم HTTP بسيط يستند إلى عقدة يخدم الملفات من موقع الخادم الخاص بنا.
[ موسيقى]