ستغطي هذه المشاركة ما يلي:
- ما هو Node.js؟
- كيف يعمل Node.js؟
- كيفية تثبيت Node.js على نظام التشغيل Windows؟
- كيفية تثبيت Node.js على ماك؟
- كيفية تثبيت Node.js على نظام التشغيل Linux؟
- كيفية كتابة برنامج Node.js الأول؟ (مرحبا بالعالم)
- كيفية استيراد الوحدات الأساسية للعقدة؟
- كيفية تثبيت حزم NPM؟
- كيف تبدأ مع Express JS؟
- كيفية تقديم الملفات الثابتة في اكسبرس؟
- كيفية تقديم الملفات الديناميكية في Express؟
- خاتمة
ما هو Node.js؟
الاستعلام الأكثر بحثًا على محرك بحث Google هو ما هو Node.js؟ الأسئلة الأكثر شيوعًا هي هل Node.js لغة برمجة؟ هل هو إطار؟ هل هي مكتبة؟ للتبسيط، يمكن تعريف Node.js على أنها بيئة تشغيل تدعمها مكتبة JS.
إحدى بيئات تشغيل جافا سكريبت المعروفة والمفتوحة المصدر والمتعددة المنصات هي Node.js. بسبب قدرته على التكيف، يمكن استخدامه في أي مشروع أو تطبيق. ما يميزه هو استخدام محرك V8، وهو نفس المحرك الذي يشغل Google Chrome. وهذا يجعل Node.js خيارًا مثاليًا للبرمجة النصية من جانب الخادم وتنفيذ البرامج النصية للتعليمات البرمجية خارج بيئة التطوير.
تختلف Node.js تمامًا عن لغات البرمجة الأخرى من جانب الخادم. تجدر الإشارة إلى أنه ليس خادمًا خلفيًا أو خادم ويب. منفردًا، لا يمكنه فعل أي شيء سوى مجموعة من الوحدات التي تساعد في إنشاء مشروع قابل للتطوير. يتم تشغيله على خادم واحد ولا يقوم بإنشاء سلاسل رسائل إضافية لكل طلب على حدة. علاوة على ذلك، تُستخدم نماذج عدم الحظر لكتابة غالبية مكتبات NodeJS، لذا فإن سلوك الحظر هو الاستثناء وليس القاعدة. تعتبر عناصر الإدخال/الإخراج غير المتزامنة إحدى ميزات مكتبة Node.js القياسية التي تمنع حظر تعليمات JavaScript البرمجية.
عندما يقوم Node.js بإجراء عملية إدخال/إخراج، مثل إجراء عمليات بدائية عبر الشبكة، فإنه لن يحظر الخيط ويضيع دورات وحدة المعالجة المركزية في انتظار الاستجابة؛ بدلاً من ذلك، سيتم استئناف العمليات بعد تلقي الاستجابة.
Node.js مثال بسيط
أحد الأمثلة البسيطة لفهم مفهوم Node.js هو إنشاء خادم ويب وكتابة بعض النصوص. نظرًا لأنها مقدمة لـ Node.js، فلنضف سطر المقدمة إلى منفذ الويب:
مقدار ثابت http = يتطلب ( 'http' ) ;مقدار ثابت serverPort = 3000 ;
مقدار ثابت الخادم = http. createServer ( ( الطلب، الدقة ) => {
الدقة. كود الحالة = 200 ;
الدقة. setHeader ( 'نوع المحتوى' , 'نص عادي' ) ;
الدقة. نهاية ( 'دليل المبتدئين للبدء في استخدام Node.js!' \ن ' ) ;
} ) ;
الخادم. يستمع ( منفذ الخادم, ( ) => {
وحدة التحكم. سجل ( `الخادم يعمل على http : // المضيف المحلي:${serverPort}/`);
} ) ;
في هذا الكود:
- يستورد 'const http = require('http')' وحدة http التي تساعد في إنشاء خوادم HTTP والتعامل مع الوظائف المرتبطة بها.
- يحدد 'const serverPort = 3000' المنفذ الذي سيعمل عليه الخادم.
- 'const server = http.createServer((req, res) => {})' يستخدم طريقة إنشاء الخادم لوحدة http لإنشاء خادم بوظيفة رد اتصال تأخذ وسيطتين إحداهما هي الطلب والأخرى هي الاستجابة سيتم إنشاؤها للطلب.
- داخل وظيفة رد الاتصال، يتم تعيين رمز حالة HTTPS على 200، ويتم تعيين نوع محتوى الاستجابة على نص عادي. بالإضافة إلى ذلك، يعرض خادم الويب رسالة بعنوان 'دليل المبتدئين لبدء استخدام Node.js'.
- يتم استدعاء 'server.listen(serverPort, () =>{})' لبدء تشغيل الخادم والاستماع إلى جميع الطلبات الواردة على الخادم. يتم استدعاء وظيفة رد الاتصال بعد بدء تشغيل الخادم وتعرض رسالة في الجهاز لإظهار المنفذ الذي تم تشغيل الخادم عليه.
انتاج |
استخدم السطر أدناه للتنفيذ:
تطبيق العقدة jsأين App.js هو اسم التطبيق.
الإخراج في المحطة هو:
يشير هذا إلى أن الخادم قد بدأ ويستمع للطلبات الواردة. للتحقق من الاستجابة على الخادم استخدم الرابط التالي “ http://localhost:3000/ '.
سيظهر الإخراج على جانب الخادم على النحو التالي:
كيف يعمل Node.js؟
Node.js عبارة عن منصة تساعد الخوادم على التعامل مع العديد من الطلبات في وقت واحد. على الرغم من أنه يستخدم مؤشر ترابط واحد فقط للتعامل مع الطلبات، إلا أنه يدير بشكل فعال عمليات الإدخال والإخراج من خلال استخدام سلاسل الرسائل. المواضيع هي مجموعة من التعليمات التي تؤدي المهام في نفس الوقت. يعمل Node.js مع حلقة حدث تتحكم في المهام دون التوقف حتى تنتهي واحدة قبل بدء المهمة التالية.
حلقة أحداث Node.js هي حلقة مستمرة وشبه لا نهائية. تدير هذه الحلقة الأحداث المتزامنة وغير المتزامنة في Node.js. بمجرد إطلاق مشروع Node.js، يتم تشغيل التنفيذ، مما ينقل المهام الصعبة إلى النظام بسلاسة. وهذا يسمح للمهام الأخرى في الموضوع الرئيسي بالعمل بسلاسة.
لفهم واستيعاب المفهوم التفصيلي لحلقات الأحداث في Node.js، قمنا بكتابة مقالة مخصصة حول هذا الموضوع.
مزايا Node.js
بعض المزايا الرئيسية لـ Node.js هي:
- قابلية التوسع : يبسط نمو التطبيقات ثنائي الاتجاه: أفقيًا وعموديًا.
- تطبيقات الويب في الوقت الحقيقي : الأفضل للمهام التي تتطلب مزامنة سريعة وتمنع التحميل الزائد على HTTP.
- سرعة : أداء المهام بسرعة، مثل إدخال البيانات أو إخراجها من قواعد البيانات، أو الارتباط بالشبكات، أو التعامل مع الملفات.
- سهولة التعلم : Node.js سهل التعلم للمبتدئين لأنه يستخدم Javascript.
- فائدة التخزين المؤقت : يخزن جزءًا واحدًا فقط، لذلك ليست هناك حاجة لتشغيل التعليمات البرمجية مرة أخرى عند الطلب، فذاكرة التخزين المؤقت هي ذاكرة سريعة وتوفر وقت تحميل إضافي.
- تدفق البيانات : يتعامل مع طلبات HTTP والاستجابات كأحداث مختلفة وبالتالي تحسين الأداء.
- الاستضافة : من السهل وضعه على مواقع الويب مثل PaaS و Heroku.
- دعم الشركات : تستخدمه الشركات الكبرى مثل Netflix وSpaceX وWalmart وما إلى ذلك.
كيفية تثبيت Node.js على نظام التشغيل Windows؟
نظرًا لأننا بدأنا في تطوير تطبيقات Node.js، إذا كانت لدينا بيئة Windows، فيجب إعداد بيئة Node.js. اتبع الإرشادات التفصيلية أدناه لإعداد بيئة Node.js في نظام التشغيل Windows.
الخطوة 1: قم بتنزيل حزمة تثبيت Node.js
انتقل إلى الموقع الرسمي لـ Node.js الموقع الرسمي لـ Node.js وتأكد من تنزيل أحدث إصدار من Node.js. تحقق أيضًا من تثبيت مدير الحزم npm معه لأنه يلعب دورًا حاسمًا في توسيع نطاق تطبيقات Node.js.
ما عليك سوى النقر على Windows Installer وسيبدأ التنزيل. سيكون الإصدار الذي تم تنزيله 64 بت ويوصى باستخدام إصدار LTS (الدعم طويل الأمد). قم بتشغيل برنامج التثبيت لتثبيت Node.js.
الخطوة 2: تثبيت وحدة Node.js وNPM على جهاز الكمبيوتر الخاص بك
ستظهر الشاشة التالية، قم بالضغط على زر التالي:
بعد النقر على التالي، ستظهر نافذة جديدة حيث سيُطلب من المستخدم إدخال المسار حيث سيتم تنزيل مكتبات Node.js msi.
الآن في النافذة أدناه حدد المسار المطلوب وانقر على الزر التالي:
بعد النقر على هذا الزر التالي، ستظهر لك نافذة الإعداد المخصص حيث سيُطلب منك تحديد الحزمة التي تريد تثبيتها. من هذه النافذة، حدد مدير الحزم npm افتراضيًا، ويتم تحديد وقت تشغيل Node.js. في مدير الحزم npm، تم تثبيت كل من Node.js وحزمة npm.
وأخيرا، انقر على زر التثبيت لبدء الرحلة.
الخطوة 3: التحقق من الإصدارات المثبتة
يعد التعرف على الإصدار المثبت أمرًا بالغ الأهمية، لذا للتحقق منه، انتقل إلى شريط البحث في Windows واكتب موجه الأوامر:
بعد فتح نافذة موجه الأوامر، اكتب أمرين للتحقق.
نسخة Node.js
يمكن التحقق من إصدار Node.js باستخدام الأمر التالي في موجه الأوامر:
العقدة - فيسوف تظهر النسخة المثبتة
نسخة NPM
للتحقق من إصدار npm، استخدم الأمر التالي:
npm - فيسيظهر إصدار npm في الجهاز.
هذا كل شيء، يمكنك الآن البدء في تطوير التطبيقات من خلال إعداد بيئة Node.js.
جميع المستخدمين لا يستخدمون Windows لذا فمن المستحسن تلبية احتياجات الجميع. فيما يلي عملية تثبيت Node.js على نظام Mac.
كيفية تثبيت Node.js على ماك؟
بالنسبة للمستخدمين الذين يستخدمون Mac، يكون التثبيت هو نفسه تمامًا بالنسبة لنظام Windows. اذهب الى الموقع الرسمي للNode.js وقم بتنزيل الحزمة لنظام التشغيل Mac.
الخطوة 1: تنزيل مدير الحزم لنظام التشغيل Mac
تفضل بزيارة الموقع الرسمي لـ Node وقم بتنزيل MacOSInstaller الخاص بـ NodeJS:
https://nodejs.org/en/download/current
انقر على الزر المحدد في الشاشة أعلاه لبدء التنزيل.
يمكن للمستخدمين تحديد الموقع الذي سيتم تثبيته فيه.
الخطوة 2: تثبيت ملف Node.js .pkg
قم بتشغيل ملف التثبيت واتبع دليل التثبيت:
انقر فوق الزر 'تثبيت'، وسيبدأ تثبيت Node.js.
بعد الانتهاء من تثبيت NodeJS، سيظهر الملخص:
انقر فوق الزر 'إغلاق' لإنهاء التثبيت.
الخطوة 3: التحقق من تثبيت Node.js وإصداراته
للتحقق من تثبيت Node.js والتحقق من إصداره، استخدم الأمر التالي:
العقدة -- إصدار
الخطوة 4: ترقية NPM عالميًا
قم بتنفيذ الأمر المكتوب أدناه لترقية NPM لجميع مستخدمي النظام باستخدام العلامة '–global':
سودو ملائمة تثبيت npm -- عالمي
الخطوة 5: قم بتعيين مسار العقدة إلى $PATH Variable
قم بتشغيل الأمر التالي لتعيين متغير PATH لـ NodeJS:
مسار التصدير =/ usr / محلي / شخص سخيف / سلة مهملات :/ usr / محلي / سلة مهملات : $PATHملحوظة: في الأمر أعلاه، '/usr/local/bin' هو الموقع الذي تم تثبيت NodeJS فيه افتراضيًا.
الخطوة 6: تحديث تفاصيل PATH في ملف '.bash\_profile'
أضف تفاصيل المسار إلى '~/.bash\_profile' باستخدام الأمر الموضح أدناه:
صدى صوت 'تصدير PATH=/usr/local/bin:$PATH' >> ~ / . سحق \_حساب تعريفيالخطوة 7: قم بتحديث الملف ~/.bashrc
لإتاحته لجميع المستخدمين، قم بتنفيذ الأمر الموضح أدناه:
المصدر ~ / . bashrcيتعلق الأمر بتثبيت NodeJS وإعداد متغير PATH في MacOS لـ NodeJS.
كيفية تثبيت Node.js على نظام التشغيل Linux؟
لتثبيت Node.js على أي نظام تشغيل Linux يستند إلى Debian، اتبع الإجراء خطوة بخطوة الموضح أدناه:
الخطوة 1: افتح المحطة
أولاً، قم بتشغيل الوحدة الطرفية باستخدام مفتاح اختصار لوحة المفاتيح 'CTRL+ALT+T':
الخطوة الثانية: تحديث النظام وترقيته
قم بتنفيذ الأمر المكتوب أدناه لتحديث وترقية مستودع النظام:
سودو التحديث المناسب && سودو ترقية ملائمة - و
الخطوة 3: تثبيت Node باستخدام مدير الحزم apt
بعد تحديث مستودع النظام، قم بتثبيت Node.js من مدير حزم APT الرسمي باستخدام الأمر:
سودو مناسب لتثبيت Nodejs
الخطوة 4: التحقق من تثبيت العقدة
بمجرد تثبيته، تحقق من التثبيت عن طريق التحقق من إصدار Node.js باستخدام الأمر الموضح أدناه:
العقدة - في
الخطوة 5: تثبيت NPM
من الممارسات الجيدة تثبيت NPM مع NodeJS لأنه مطلوب في معظم الأوقات. يتوفر NPM أيضًا في مستودع APT الرسمي ويمكن تثبيته باستخدام الأمر المحدد:
سودو ملائمة تثبيت npm
الخطوة 6: التحقق من تثبيت NPM
تحقق من إصدار NPM أيضًا للتحقق من تثبيت NPM باستخدام الأمر التالي:
npm - في
هذه هي الطريقة التي يمكنك من خلالها تثبيت Node وNPM على أنظمة تشغيل Linux المستندة إلى Debian.
كيفية كتابة برنامج Node.js الأول؟ (مرحبا بالعالم)
تم إعداد كل شيء للبدء في طريقنا لتطوير التطبيقات في Node.js. لنقم بإنشاء برنامجنا الأول الشائع جدًا. عندما يبدأ أي شخص في تعلم لغة أو إطار عمل جديد، عادةً ما يكون البرنامج الأول هو طباعة 'Hello World'. إن إلقاء التحية على الجميع بطريقة مختلفة هو شعور تمامًا وإخبارهم عن بداية رحلتنا الجديدة. فيما يلي الرمز للبدء:
// التطبيق.jsوحدة التحكم. سجل ( 'مرحبا بالعالم!' ) ;
لتنفيذ هذا البرنامج النصي للكود، استخدم الأمر التالي:
تطبيق العقدة jsانتاج |
سيتم تسجيل بيان Hello World في الجهاز:
كيفية استيراد الوحدات الأساسية للعقدة؟
يتعين على المستخدمين استخدام وظيفة 'require()' لاستخدام الوحدة المطلوبة للعمل عليها في البرنامج النصي للتعليمات البرمجية الخاصة بهم. على سبيل المثال، إذا كان سيتم استخدام الوحدة النمطية 'fs' (نظام الملفات)، فسيكون سطر كود الاستيراد كما يلي:
مقدار ثابت خ = يتطلب ( 'خس' )سيؤدي هذا إلى استيراد جميع وظائف تلك الوحدة وتخزينها في المتغير fs وهو متغير ثابت يعني أنه لا يمكن تغيير محتواه في وقت التشغيل. ثم باستخدام المتغير 'fs' يمكن للمستخدم تنفيذ الوظائف المطلوبة.
لنقم الآن بإنشاء مثال تعليمي برمجي بسيط يتم فيه استيراد الوحدة النمطية واستخدام وظائفها في البرنامج النصي للتعليمات البرمجية.
مثال: استخدام وحدة HTTP
مقدار ثابت http = يتطلب ( 'http' ) ;// خادم HTTP بسيط
مقدار ثابت خادم http = http. createServer ( ( الطلب، الدقة ) => {
الدقة. writeHead ( 200 , { 'نوع المحتوى' : 'نص/أتش تي أم أل' } ) ;
الدقة. يكتب ( '' ) ;
الدقة. يكتب ( '' ) ;
الدقة. يكتب ( '<الرأس>' ) ;
الدقة. يكتب ( '<مجموعة محارف التعريف = 'UTF-8'>' ) ;
الدقة. يكتب ( '' ) ;
الدقة. يكتب ( '
الدقة. يكتب ( 'الرأس>' ) ;
الدقة. يكتب ( '<الجسم>' ) ;
الدقة. يكتب ( '
مرحبًا بالعالم!
' ) ;الدقة. يكتب ( '' ) ;
الدقة. يكتب ( '