إعداد بيئة التطوير الأساسية: تثبيت Node.js وإدارة الحزم (NPM)


اليوم، سنتعلم كيفية إعداد بيئة التطوير الأساسية لـ Node.js، بدءاً من تثبيت Node.js وصولاً إلى استخدام مدير الحزم (NPM) لدمج المكتبات في مشاريعنا.

1. تثبيت Node.js والتحقق من التثبيت

تثبيت Node.js هو الخطوة الأولى. يُفضل دائماً تنزيل المثبت المناسب لنظام التشغيل الخاص بك من الموقع الرسمي nodejs.org. بعد التثبيت، يمكننا التحقق من الإصدارات المثبتة لـ Node.js و NPM باستخدام الأوامر التالية في سطر الأوامر:

# التحقق من إصدار Node.js
node -v
# التحقق من إصدار NPM (يأتي مدمجاً مع Node.js)
npm -v

ملاحظة تقنية: يُنصح بشدة بتثبيت إصدار LTS (Long Term Support) من Node.js لضمان الاستقرار والتوافقية على المدى الطويل لمشاريعك.

2. إنشاء مشروع Node.js جديد وتهيئة NPM

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

# إنشاء مجلد جديد للمشروع
mkdir my-first-node-app
# الانتقال إلى مجلد المشروع
cd my-first-node-app
# تهيئة مشروع Node.js جديد بملف package.json افتراضي
# الخيار -y يوافق على جميع الإعدادات الافتراضية
npm init -y

ملاحظة تقنية: ملف package.json هو حجر الزاوية في أي مشروع Node.js. إنه يحدد تبعيات المشروع ويساعد NPM على إدارتها. محتواه يشبه جواز سفر المشروع.

3. تثبيت الحزم (Packages) باستخدام NPM

NPM هو مدير الحزم الافتراضي لـ Node.js ويسمح لنا بتثبيت وإدارة المكتبات والوحدات (المعروفة بالحزم) التي نحتاجها لمشاريعنا. لنقوم بتثبيت حزمة express، وهي إطار عمل شائع لإنشاء تطبيقات الويب:

# تثبيت حزمة express وحفظها كاعتمادية للمشروع
# سيتم إضافتها إلى قسم "dependencies" في ملف package.json
npm install express

بعد التثبيت، ستجد مجلداً جديداً باسم node_modules وملفاً باسم package-lock.json في مجلد مشروعك. الآن، لنقم بإنشاء ملف app.js بسيط يستخدم express:

// app.js
// استيراد حزمة express التي قمنا بتثبيتها
const express = require('express');
// إنشاء تطبيق express جديد
const app = express();
// تحديد المنفذ الذي سيستمع إليه الخادم
const PORT = 3000;

// تعريف مسار GET بسيط
app.get('/', (req, res) => {
  // إرسال رد نصي عند الوصول إلى المسار الجذر
  res.send('مرحباً بكم في أول تطبيق Node.js Express!');
});

// بدء تشغيل الخادم والاستماع للمنفذ المحدد
app.listen(PORT, () => {
  // طباعة رسالة في سطر الأوامر عند نجاح تشغيل الخادم
  console.log(الخادم يعمل على المنفذ http://localhost:${PORT});
});

ملاحظة تقنية: مجلد node_modules يحتوي على جميع الحزم المثبتة لمشروعك. بينما package-lock.json يحافظ على سجل دقيق لإصدارات التبعيات لضمان التثبيت المتطابق عبر بيئات مختلفة.

4. تشغيل أول تطبيق Node.js

الآن بعد أن قمنا بإنشاء ملف app.js، يمكننا تشغيل تطبيق Node.js الخاص بنا باستخدام الأمر node متبوعاً باسم ملف السكربت:

# تشغيل ملف app.js باستخدام Node.js
node app.js

بعد تشغيل هذا الأمر، يجب أن ترى رسالة تأكيد في سطر الأوامر تشير إلى أن الخادم يعمل. يمكنك الآن فتح متصفح الويب الخاص بك والوصول إلى العنوان http://localhost:3000 لرؤية رسالة الترحيب من تطبيقك.

الكود النهائي الكامل (app.js)

هذا هو السكربت الكامل الذي قمنا ببنائه خطوة بخطوة:

// app.js

// استيراد حزمة express التي قمنا بتثبيتها لإطار عمل الويب
const express = require('express');

// إنشاء تطبيق express جديد
const app = express();

// تحديد المنفذ الذي سيستمع إليه الخادم
const PORT = 3000;

// تعريف مسار GET بسيط للمسار الجذر ('/')
app.get('/', (req, res) => {
  // إرسال رد نصي كاستجابة للطلب
  res.send('مرحباً بكم في أول تطبيق Node.js Express!');
});

// تعريف مسار GET آخر على '/about'
app.get('/about', (req, res) => {
  // إرسال رد نصي مختلف
  res.send('هذه صفحة "حول" في تطبيقنا!');
});

// بدء تشغيل الخادم والاستماع للمنفذ المحدد
app.listen(PORT, () => {
  // طباعة رسالة في سطر الأوامر عند نجاح تشغيل الخادم
  console.log(الخادم يعمل بنجاح على العنوان http://localhost:${PORT});
  console.log('لإيقاف الخادم، اضغط Ctrl + C');
});

النتيجة المتوقعة

بعد تشغيل الأمر node app.js في سطر الأوامر، ستظهر الرسالة التالية:

الخادم يعمل بنجاح على العنوان http://localhost:3000
لإيقاف الخادم، اضغط Ctrl + C

وعند فتح متصفح الويب والانتقال إلى http://localhost:3000، ستظهر لك الرسالة:

مرحباً بكم في أول تطبيق Node.js Express!

وإذا انتقلت إلى http://localhost:3000/about، فسترى:

هذه صفحة "حول" في تطبيقنا!

هذا يؤكد أن بيئة Node.js الخاصة بك جاهزة وأن تطبيقك يعمل بشكل صحيح.