دروس Node.js - دليل كامل للمبتدئين



سيتحدث هذا البرنامج التعليمي لـ Node.js عن البنية الأساسية والعمل والوحدات النمطية المختلفة لـ Node.js. كما سيوضح التطبيق العملي لـ Node.js و Express.js.

إذا كنت قد سمعت عن Node.js من قبل ، فقد تعلم أنه أحد أبرز وأبرز أطر عمل JavaScript. منذ صدوره ، استمر في السيطرة على سوق تكنولوجيا المعلومات. حتى مع إدخال جديد ونابض بالحياة مثل و و Meteor وما إلى ذلك ، يبدو أن شعبية Node.js لا تتوقف أبدًا. أتعجب لماذا؟ حسنًا ، بمساعدة هذا البرنامج التعليمي Node.js ، سأقدم لك نظرة ثاقبة كاملة حوله. لذا ، استعد للوقوع في حب Node.js.

في هذا البرنامج التعليمي Node.js ، سأناقش الموضوعات التالية:





ما هو Node.js؟

Node.js هو إطار عمل قوي تم تطويره على محرك جافا سكريبت V8 من Chrome يقوم بتجميع JavaScript مباشرة في كود الجهاز الأصلي. إنه إطار عمل خفيف الوزن يستخدم لإنشاء تطبيقات الويب من جانب الخادم ويوسع JavaScript API لتقديم وظائف جانب الخادم المعتادة. يتم استخدامه بشكل عام لتطوير التطبيقات على نطاق واسع ، خاصة لمواقع بث الفيديو ، وتطبيق الصفحة الواحدة ، وتطبيقات الويب الأخرى. Node.js يصنع استخدام نموذج الإدخال / الإخراج المستند إلى الأحداث وغير المحظور مما يجعله الاختيار الصحيح لتطبيقات الوقت الفعلي كثيفة البيانات.

مثل أي لغات برمجة أخرى ، يستخدم node.js الحزم والوحدات النمطية. هذه هي المكتبات التي تحتوي على وظائف مختلفة ويتم استيرادها من npm (مدير حزمة العقدة) إلى التعليمات البرمجية الخاصة بنا واستخدامها في البرامج. بعض الميزات الرئيسية التي تحدد Node.js مذكورة أدناه:



ميزات Node.js

  1. المصدر المفتوح
    Node.js عبارة عن ترخيص MIT لإطار عمل مفتوح المصدر يدعمه مجتمع ضخم. مجتمعها نشط إلى حد كبير وقد ساهم في إضافة إمكانات جديدة لتطبيقات Node.js.
  2. بسيط وسريع
    نظرًا لأن Node.js مبني على محرك جافا سكريبت V8 من Google Chrome ، فإن مكتباته قادرة على تنفيذ التعليمات البرمجية بسرعة.
  3. غير متزامن
    جميع مكتبات Node.js غير متزامنة مما يعني أن الخوادم المستندة إلى Node.js لا تنتظر أبدًا واجهة برمجة التطبيقات لإرسال الاستجابة والانتقال إلى واجهة برمجة التطبيقات التالية.
  4. قابلية عالية للتوسع
    بسبب آلية الحدث ، فإن Node.js قابل للتوسع بدرجة كبيرة ويساعد الخادم في استجابة غير محظورة.
  5. واحد الخيوط
    بمساعدة تكرار الحدث ، يمكن لـ Node.js اتباع النموذج أحادي السلسلة. يتيح هذا لبرنامج واحد التعامل مع طلبات متعددة.
  6. لا يوجد تخزين مؤقت
    تتمثل إحدى الوظائف الرئيسية لتطبيقات Node.js في عدم تخزين أي بيانات مؤقتًا أبدًا.
  7. عبر منصة
    يمكن إنشاء Node.js ونشره بسهولة على منصات مختلفة مثل Windows و MAC و Linux.

دعنا الآن نتقدم أكثر ونرى كيفية نشر الشفرة الفعلية على المتصفح. ولكن قبل ذلك ، تحتاج إلى التنزيل والتثبيت في أنظمتك. يمكنك الرجوع إلى مقالتي الأخرى لمعرفة كاملة عملية تثبيت Node.js .

الآن ، دعنا ننتقل أكثر في هذا البرنامج التعليمي Node.js ، حيث سأتحدث عن أهم مكون في Node.js ، أي npm.

NPM (مدير حزمة العقدة)

يرمز NPM إلى Node Package Manager والذي كما يوحي الاسم هو مدير الحزم لحزم / وحدات Node.js. من إصدار Node 0.6.0. فصاعدًا ، تمت إضافة npm افتراضيًا في تثبيت العقدة. يخلصك من متاعب تثبيت npm بشكل صريح.



يساعد NPM بشكل أساسي بطريقتين:

استخدام بيثون في الاستوديو المرئي
  1. يوفر ويستضيف مستودعات عبر الإنترنت لحزم / وحدات node.js التي يمكن تنزيلها واستخدامها بسهولة في مشاريعنا. تستطيع ايجادهم هنا: npmjs.com
  2. يوفر الأداة المساعدة لسطر الأوامر لتثبيت حزم Node.js المختلفة وإدارة إصدارات Node.js وتبعيات الحزم.

ولكن الآن ، يجب أن تتساءل عن ماهية هذه الوحدات بالضبط وكيف تساعدنا في بناء تطبيقات Node.js. حسنًا ، في القسم التالي من البرنامج التعليمي Node.js هذا ، سأقدم لك نظرة ثاقبة كاملة حول وحدات Node.js.

وحدات Node.js

تمثل الوحدات في Node.js العديد من الوظائف التي يتم تجميعها في ملفات JS مفردة أو متعددة. تحتوي هذه الوحدات على سياق فريد ، وبالتالي فهي لا تتدخل ولا تلوث نطاق الوحدات الأخرى.

تتيح هذه الوحدات إمكانية إعادة استخدام الكود وتعزز سهولة الاستخدام. يوفر Node.js أساسًا ثلاثة أنواع من الوحدات:

  1. وحدات أساسية
  2. الوحدات المحلية
  3. وحدات الطرف الثالث

الوحدة الأساسية

نظرًا لأن Node.js هو ملف وزن خفيف إطار العمل ، تجمع الوحدات الأساسية الحد الأدنى من الوظائف المطلقة. يتم تحميل هذه الوحدات بشكل عام عندما تبدأ عملية العقدة في تنفيذها. كل ما عليك فعله هو استيراد هذه الوحدات الأساسية لاستخدامها في التعليمات البرمجية الخاصة بك.

أدناه قمت بإدراج عدد قليل من الوحدات الأساسية الهامة.

الوحدة الأساسية وصف
http يحتوي على الفئات والطرق والأحداث المطلوبة لإنشاء خادم HTTP Node.js
عنوان url يحتوي على طرق لتحليل عنوان URL والتحليل في Node
سلسلة الاستعلام يحتوي على طرق للتعامل مع سلسلة الاستعلام الخاصة بالعقدة
مسار يحتوي على طرق للتعامل مع مسارات الملفات
خ يحتوي على فئات وطرق وأحداث للعمل مع ملف الإدخال / الإخراج
مفيد يحتوي على وظائف مفيدة يمكن أن تكون مفيدة للمبرمجين

يمكنك تحميل الوحدة الأساسية الخاصة بك باستخدام الكود أدناه:

var module = تتطلب ('module_name')

لنرى الآن ، ما هي 'الوحدات المحلية'.

الوحدات المحلية

الوحدات المحلية لـ Node.js هي وحدات مخصصة تم إنشاؤها محليًا بواسطة المستخدم / المطور في التطبيق. يمكن أن تشتمل هذه الوحدات على وظائف مختلفة مجمعة في ملفات ومجلدات مميزة يمكن توزيعها بسهولة في مجتمع Node.js باستخدام NPM.

يتم تحميل هذه الوحدات بطريقة مشابهة للوحدات الأساسية. دعنا نوضح لك كيفية القيام بذلك باستخدام مثال أساسي.

قم بإنشاء ملف module.js مخصص / محلي

var التفاصيل = {name: function (name) {console.log ('Name:' + name)}، domain: function (domain) {console.log ('Domain:' + domain)}} module.exports = details

قم بتضمين ملف الوحدة الخاصة بك في ملف التطبيق الرئيسي الخاص بك.

var myLogModule = يتطلب ('./ Local_module.js') myLogModule.name ('Edureka') myLogModule.domain ('التعليم')

الآن يمكنك تنفيذ هذه الملفات باستخدام الأمر أدناه:

تطبيق العقدة. js

دعني الآن أوضح لك ما هي الوحدات الخارجية.

الوحدات الخارجية

يمكنك استخدام الخارجية أو 3بحث وتطويروحدات الحزب فقط عن طريق تنزيلها عبر NPM. يتم تطوير هذه الوحدات بشكل عام بواسطة مطورين آخرين وهي مجانية الاستخدام. قليل من أفضل الوحدات الخارجية هي الصريحة ، والتفاعل ، والبلع ، والنمس ، والموكا ، إلخ.

تحميل وحدات الطرف الثالث عالميًا:

تثبيت npm --g

قم بتضمين ملف الوحدة النمطية في ملف التطبيق الرئيسي الخاص بك:

تثبيت npm - حفظ

ملف JSON

ال ملف package.json في Node.js هو قلب التطبيق بأكمله. هو في الأساس ملف البيان الذي يحتوي على البيانات الوصفية للمشروع. وبالتالي ، يصبح فهم هذا الملف والعمل معه مهمًا جدًا لتطوير مشروع Node بنجاح.

يتكون ملف package.json عمومًا من البيانات الوصفية للتطبيق ، والتي يتم تصنيفها أيضًا إلى فئتين أدناه:

  1. تحديد خصائص البيانات الوصفية: يتكون هذا من خصائص مثل اسم المشروع وإصدار الوحدة الحالية والترخيص ومؤلف المشروع ووصف المشروع وما إلى ذلك.
  1. الكتابة مباشرة إلى الملف: يمكنك كتابة المعلومات الضرورية مباشرة في ملف package.json وإدراجها في مشروعك.

لقد تعرفت بالفعل على المكونات المختلفة لتطبيق Node JS. في القسم التالي من هذا البرنامج التعليمي Node.js ، سوف أشارك بعض أساسيات Node Js حتى نتمكن من البدء بالأيدي.

أساسيات Node.js

نظرًا لأن Node.js عبارة عن إطار عمل JavaScript ، فإنه يستخدم بنية JavaScript. إذا كنت تريد تعلم JavaScript بالتفصيل ، يمكنك الرجوع إلى هذا . في الوقت الحالي ، سأقوم بتنظيفك ببعض أساسيات Node.js مثل:

أنواع البيانات

مثل أي لغة برمجة أخرى ، تحتوي Node.js على أنواع بيانات مختلفة ، والتي يتم تصنيفها إلى أنواع بيانات بدائية وغير بدائية.

أنواع البيانات البدائية هي:

  1. خيط
  2. رقم
  3. قيمة منطقية
  4. لا شيء
  5. غير معرف

أنواع البيانات غير البدائية هي:

  1. موضوع
  2. تاريخ
  3. مجموعة مصفوفة

المتغيرات

المتغير عبارة عن كيانات تمتلك قيمًا قد تختلف أثناء سير البرنامج. لإنشاء متغير في Node.js ، تحتاج إلى استخدام var. لا يتعين عليك تعيين نوع البيانات ، حيث سيقوم المترجم باختياره تلقائيًا.

بناء الجملة:

var varName = القيمة

العاملين

يدعم Node.js العوامل التالية:

نوع المشغل العاملين
علم الحساب + ، - ، / ، * ،٪ ، ++ ، -
مهمة = ، + = ، - = ، * = ، / = ،٪ =
الشرط
مقارنة == ، === ،! = ،! == ،> ،> = ،<, <=,
منطقي &&، || ،!
أحادي المعامل & ، | ، ^ ، ~ ،<>، >>>

المهام

الوظائف في Node.js عبارة عن كتلة من التعليمات البرمجية التي لها اسم وتتم كتابتها لتحقيق مهمة معينة. تحتاج إلى استخدام وظيفة الكلمات الرئيسية لإنشائها. الوظيفة هي بشكل عام عملية من خطوتين. الأول هو تحديد الوظيفة والثاني هو استدعاءها. فيما يلي صيغة إنشاء واستدعاء دالة:

مثال:

// تحديد دالة عرض_اسم (الاسم الأول ، اسم العائلة) {تنبيه ('مرحبًا' + الاسم الأول + '' + اسم العائلة)} // استدعاء الوظيفة display_Name ('Park'، 'Jimin')

شاء

الكائن هو نوع بيانات غير بدائي يمكنه الاحتفاظ بقيم متعددة من حيث الخصائص والطرق. كائنات Node.js هي كيانات قائمة بذاتها حيث لا يوجد مفهوم للفئة. يمكنك إنشاء كائن بطريقتين:

  1. باستخدام الكائن الحرفي
  2. باستخدام منشئ الكائن

مثال:

// object with properties and method var worker = {// properties firstName: 'Minho'، lastName: 'Choi'، العمر: 35، الراتب: 50000، // method getFullName: function () {return this.firstName + '' + this.lastName}}

نظام الملفات

للوصول إلى نظام الملفات الفعلي ، يستخدم Node.js امتداد الملف خ الوحدة النمطية التي تهتم بشكل أساسي بجميع عمليات الإدخال / الإخراج للملفات غير المتزامنة والمتزامنة. يتم استيراد هذه الوحدة باستخدام الأمر أدناه:

var fs = يتطلب ('fs')

بعض الاستخدامات العامة لوحدات نظام الملفات هي:

  • اقرأ الملفات
    1. fs.read الملف ()
var http = تتطلب ('http') var fs = تتطلب ('fs') http.createServer (الوظيفة (req، res) {fs.readFile ('script.txt' ، الوظيفة (الخطأ ، البيانات) {res.writeHead ( 200، {'Content-Type': 'text / html'}) res.write (البيانات) res.end ()})}). listen (8080)
  • قم بإنشاء ملفات
    1. appendFile ()
    2. افتح()
    3. writeFile ()
  • تحديث الملفات
    1. fs.append الملف ()
    2. fs.writeFile ()
  • حذف الملفات
    1. fs.unlink ()
  • إعادة تسمية الملفات
    1. fs.rename ()

لذلك ، باستخدام هذه الأوامر ، يمكنك إلى حد كبير تنفيذ جميع العمليات المطلوبة على ملفاتك. دعنا ننتقل الآن إلى أبعد من ذلك مع هذا البرنامج التعليمي Node.js ونرى ما هي الأحداث وكيف يتم التعامل معها في Node.js.

الأحداث

كما ذكرت سابقًا ، فإن تطبيقات Node.js عبارة عن سلسلة مفردة وقائمة على الأحداث. يدعم Node.js التزامن لأنه مدفوع بالأحداث ، وبالتالي يستخدم مفاهيم مثل الأحداث وعمليات رد الاتصال. تساعد استدعاءات الدالة غير المتزامنة Node.js في الحفاظ على التزامن في جميع أنحاء التطبيق.

في الأساس ، في تطبيق Node.js ، توجد حلقة رئيسية تنتظر وتستمع إلى الأحداث ، وبمجرد اكتمال أي حدث ، تبدأ على الفور وظيفة رد الاتصال.

يمثل الرسم البياني أدناه كيفية تحرك الأحداث في Node.js.

نموذج الموضوع - دروس Node.js - Edureka

شيء واحد يجب ملاحظته هنا هو أنه على الرغم من أن الأحداث تشبه وظائف رد الاتصال ، إلا أن الاختلاف يكمن في وظائفها. عندما تقوم دالة غير متزامنة بإرجاع نتائجها ، يتم استدعاء عمليات الاسترجاعات من ناحية أخرى ، تعمل معالجة الأحداث بشكل كامل على نمط المراقب. وفي Node.js ، تسمى الطرق التي تستمع إلى الأحداث بالمراقبين. في اللحظة التي يتم فيها تشغيل حدث ما ، تبدأ وظيفة المستمع تلقائيًا في التنفيذ. توفر وحدات الأحداث وفئة EventEmitter العديد من الأحداث المدمجة التي تُستخدم لربط الأحداث بمستمعي الأحداث. أدناه قمت بتدوين بناء الجملة لذلك.

الفرق بين الواجهة والفئة في جافا

حدث ملزم لمستمع الحدث

// استيراد وحدة الأحداث var my_Events = تتطلب ('أحداث') // إنشاء كائن eventEmitter var my_EveEmitter = new my_Events.EventEmitter ()

معالج حدث ملزم بحدث

// حدث ملزم ومعالج الحدث my_EveEmitter.on ('eventName' ، eventHandler)

إطلاق حدث

// إطلاق حدث my_EveEmitter.emit ('eventName')

دعنا الآن نحاول تنفيذ الأشياء التي ناقشتها في قسم حدث Node.js هذا.يُظهر الكود أدناه تمثيلاً بسيطًا لتنفيذ الحدث في Node.js.

var emitter = تتطلب ('الأحداث'). EventEmitter function iterateProcessor (num) {var emt = new emitter () setTimeout (function () {for (var i = 1 i & lt = num i ++) {emt.emit ('BeforeProcess' ، i) console.log ('Processing Iteration:' + i) emt.emit ('AfterProcess'، i)}}، 5000) إرجاع emt} var it = iterateProcessor (5) it.on ('BeforeProcess' ، الوظيفة ( info) {console.log ('بدء العملية لـ' + info)}) it.on ('AfterProcess'، function (info) {console.log ('Finishing Processing for' + info)

في القسم التالي من هذا البرنامج التعليمي Node.js ، سأقدم لك نظرة ثاقبة على واحدة من أهم وحدة في Node.js تسمى وحدة HTTP.

وحدة HTTP

بشكل عام ، يتم استخدام Node.js لتطوير التطبيقات المستندة إلى الخادم. ولكن باستخدام الوحدة ، يمكنك بسهولة إنشاء خوادم ويب يمكنها الاستجابة لطلبات العميل. وبالتالي يُشار أيضًا إلى وحدة الويب وتوفر وحدات مثل HTTP وتطلب تسهيل Node.js في معالجة طلبات الخادم.

يمكنك بسهولة تضمين هذه الوحدة في تطبيق Node.js الخاص بك فقط عن طريق كتابة الكود أدناه:

var http = يتطلب ('http')

لقد كتبت أدناه رمزًا يوضح كيفية تطوير خادم الويب في Node.js.

// استدعاء مكتبة http var http = تتطلب ('http') var url = تتطلب ('url') // إنشاء خادم var server = http.createServer (وظيفة (req، res) {// setting content header res.writeHead ( 200، ('Content-Type'، 'text / html')) var q = url.parse (req.url، true) .query var txt = q.year + '' + q.month // send string to response res.end (txt)}) // تعيين 8082 كمنفذ استماع للخادم server.listen (8082)

في القسم التالي من هذا البرنامج التعليمي Node.js ، سأتحدث عن Express.js الذي يستخدم بكثرة لتطوير تطبيقات الويب من جانب الخادم.

Express.js

Express.js هو إطار عمل تم إنشاؤه أعلى Node.js الذي يسهل إدارة تدفق البيانات بين الخادم والمسارات في التطبيقات من جانب الخادم. إنه إطار عمل خفيف الوزن ومرن يوفر مجموعة واسعة من الميزات المطلوبة للويب بالإضافة إلى تطوير تطبيقات الهاتف المحمول.

تم تطوير Express.js على وحدة البرامج الوسيطة في Node.js التي تسمى الاتصال . تستخدم وحدة الاتصال كذلك http وحدة للتواصل مع Node.js. وبالتالي ، إذا كنت تعمل مع أي من وحدات البرامج الوسيطة القائمة على الاتصال ، فيمكنك الدمج بسهولة مع Express.js.

ليس هذا فقط ، بعض المزايا الرئيسية لـ Express.js هي:

فيبوناتشي c ++ العودية
  • يجعل تطوير تطبيقات الويب أسرع
  • يساعد في بناء تطبيقات الجوال والويب لأنواع الصفحة الواحدة ومتعددة الصفحات والهجينة
  • يوفر Express محركين للقالب هما Jade و EJS
  • يتبع Express هندسة Model-View-Controller (MVC)
  • يحقق التكامل مع قواعد البيانات مثل MongoDB و Redis و MySQL
  • يحدد خطأ معالجة البرامج الوسيطة
  • يبسط التكوين والتخصيص بسهولة للتطبيق.

مع كل هذه الميزات ، يتحمل Express مسؤولية الجزء الخلفي في حزمة MEAN. Mean Stack هي حزمة برامج JavaScript مفتوحة المصدر تُستخدم لبناء مواقع ويب ديناميكية وتطبيقات ويب. هنا، يعني تمثل م ongoDB ، يكون xpress.js ، إلى ngularJS و ن ode.js.

دعنا الآن نرى مثالًا بسيطًا لفهم كيفية عمل Express.js مع Node.js لتسهيل عملنا. ولكن قبل أن تبدأ العمل مع Express.js ، تحتاج إلى تثبيته في نظامك.

لتثبيت Express.js عالميًا ، يمكنك استخدام الأمر التالي:

تثبيت npm -g Express

أو ، إذا كنت ترغب في تثبيته محليًا في مجلد مشروعك ، فأنت بحاجة إلى تنفيذ الأمر التالي:

npm تثبيت سريع حفظ

نظرًا لأننا انتهينا من جميع الاستعدادات ، فلننتقل الآن مباشرةً إلى التنفيذ العملي. هنا ، سأعرض تطبيقًا بسيطًا لمصادقة المستخدم باستخدام Node.js و Express.js.

برنامج تعليمي Node.js خطوة بخطوة تطوير التطبيقات باستخدام Express.js

لهذا ، سنحتاج إلى الملفات التالية:

  • package.json
  • script.js
  • الآراء
    • index.jade
    • تسجيل الدخول
    • آمن
    • غير مصرح به
    • أهلا وسهلا بك
  • ليب
    • طرق. js

لذا فلنبدأ بـ package.json .

{'المؤلف': 'Edureka'، 'name': 'Express_Demo'، 'description': 'Express with Node.js'، 'version': '0.0.0'، 'scripts': {'start': 'node script.js '}،' المحركات ': {' node ':' ~ 0.4.12 '}،' التبعيات ': {' connect-flash ':' ^ 0.1.1 '،' cookie-parser ':' ^ 1.4 .3 '،' express ':' ^ 3.21.2 '،' jade ':' ^ 0.20.3 '،' req-flash ':' 0.0.3 '}،' devDependencies ': {}}

بعد ذلك ، تحتاج إلى إنشاء ملف script.js .

var express = يتطلب ('express') var http = يتطلب ('http') var port = 8999 var app = express () const flash = يتطلب ('connect-flash') var cookieParser = يتطلب ('cookie-parser') var server = http.createServer (app) function checkAuth (req، res، next) {console.log ('checkAuth' + req.url) // لا تخدم / آمن لمن لم يسجل دخولهم إذا (req.url = == '/ secure' && (! req.session ||! req.session.authenticated)) {res.render ('unauthorized'، {status: 403}) return} next ()} app.use (flash () ) app.use (cookieParser ()) app.use (express.session ({secret: 'example'})) app.use (express.bodyParser ()) app.use (checkAuth) app.use (app.router) app.set ('view engine'، 'jade') app.set ('view options'، {layout: false}) يتطلب ('./ lib / route.js') (app) app.listen (port) console .log ('عقدة تستمع على المنفذ٪ s' ، المنفذ)

الآن ، قم بإنشاء مجلد باسم view ، والذي بموجبه ستضيف ملفات اليشم التي ستكون مسؤولة عن طرق عرض الصفحات المختلفة. ملف العرض الأول الذي تحتاج إلى إنشائه هو index.jade .

!!! 5 html (lang = 'en') العنوان الرئيسي مثال مصادقة المستخدم body h1 center عرض المصادقة باستخدام Express h3 انتقل إلى h4 ul li: a (href = '/ secure') محتوى آمن li: a (href = '/ welcome') صفحة الترحيب li: a (href = '/ تسجيل الخروج') تسجيل الخروج

الآن ، قم بإنشاء ملف تسجيل الدخول ملف.

!!! 5 html (lang = 'en') العنوان الرئيسي مثال المصادقة السريعة body h1 center تسجيل الدخول إلى مركز أمثلة المصادقة السريعة هذا p الاستخدام المستعمل لاسم المستخدم و البشري لكلمة المرور. form (method = 'post') p label (= 'username') إدخال عنوان البريد الإلكتروني (type = 'text'، name = 'username'، class = 'form-control'، id = 'exampleInputPassword1'، placeholder = ' Email '، style =' width: 400px ') p center label (for =' password ') إدخال كلمة المرور (type =' password '، name =' password '، class =' ​​form-control '، id =' exampleInputPassword1 '، placeholder = 'Password'، style = 'width: 400px') p center إرسال - كل رسالة في فلاش h4 (style = 'color: red') # {message}

الخطوة التالية هي إنشاء ملف أهلا وسهلا بك .

!!! 5 html (lang = 'en') العنوان الرئيسي مثال مصادقة المستخدم body h1 center مرحبًا بك في دروس Edureka!

بعد ذلك ، قم بإنشاء ملف آمن ملف.

!!! 5 html (lang = 'en') العنوان الرئيسي مثال المصادقة السريعة body h1 center مرحبًا ، مستخدم آمن. p انتقل إلى ul li: a (href = '/ secure') محتوى آمن li: a (href = '/ welcome') صفحة الترحيب li: a (href = '/ logout') تسجيل الخروج

الآن ، قم بإنشاء ملف غير مصرح به ملف.

!!! 5 html (lang = 'en') العنوان الرئيسي مثال مصادقة المستخدم body h1 center غير مصرح به p أنت غير مصرح لك بمشاهدة هذه الصفحة. ع من فضلك ' لاستكمال

الآن ، تحتاج إلى إنشاء مجلد وتسميته ليب . الآن ، قم بإنشاء ملف route.js الملف الذي سيربط جميع الصفحات.

var use = تتطلب ('util') module.exports = function (app) {app.get ('/'، function (req، res، next) {res.render ('index')}) app.get (' / welcome '، function (req، res، next) {res.render (' welcome ')}) app.get (' / secure '، function (req، res، next) {res.render (' secure ')} ) app.get ('/ login'، function (req، res، next) {res.render ('login'، {flash: req.flash ()})}) app.post ('/ login'، function ( req، res، next) {// قد ترغب في إجراء بحث في قاعدة البيانات أو إجراء شيء أكثر قابلية للتوسع هنا إذا (req.body.username && req.body.username === 'user' && req.body.password && req.body.password === 'pass') {req.session.authenticated = true res.redirect ('/ secure')} وإلا {req.flash ('error'، 'اسم المستخدم وكلمة المرور غير صحيحين') res. redirect ('/ login')}}) app.get ('/ logout'، function (req، res، next) {delete req.session.authenticated res.redirect ('/')})}

الآن إذا كنت تريد تنفيذ هذا الرمز بنفسك ، فيمكنك تنزيله من هنا: Node.js تعليمي PDF .

مع هذا ، وصلنا إلى نهاية هذا البرنامج التعليمي Node.js. آمل أن أكون قادرًا على شرح مفاهيم Node.js من الألف إلى الياء.

إذا وجدت هذا 'البرنامج التعليمي Node.js ' ذو صلة، تفحص ال من Edureka ، شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250.000 متعلم راضٍ منتشرين في جميع أنحاء العالم

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذا البرنامج التعليمي Node.js وسنقوم بالرد عليك.