إنشاء وتشغيل مشروع Express.js
ما هو Express.js؟
Express.js هو إطار عمل لتطبيقات الويب سريع ومفتوح وبسيط يعتمد على Node.js. يوفر مجموعة من الميزات القوية لبناء تطبيقات الويب ذات الصفحة الواحدة أو متعددة الصفحات أو الهجينة. يعد Express.js أحد أكثر الأطر شهرة في نظام Node.js البيئي، ويحظى بشعبية كبيرة بين المطورين بسبب تصميمه البسيط والمرن.
الميزات والفوائد الرئيسية لـ Express.js
- البساطة والمرونة: يوفر Express.js واجهة برمجة تطبيقات بسيطة وآلية وسائط مرنة، مما يجعل تطوير تطبيقات الويب فعالاً للغاية.
- الوسيطات: دعم مجموعة من الوسيطات التي يمكنها التعامل بسهولة مع الطلبات والاستجابات.
- التوجيه: ميزات توجيه قوية يمكنها معالجة الطلبات بناءً على طرق HTTP المختلفة ومسارات URL.
- التكامل العالي: يمكن دمجه بسلاسة مع محركات القوالب المختلفة وقواعد البيانات وغيرها من وحدات Node.js.
- مجتمع ونظام بيئي: يحتوي على مجتمع كبير ودعم غني للوحدات الوسيطة والإضافات من الطرف الثالث.
استخدام Express.js يمكن أن يساعد المطورين على بناء تطبيقات وبرمجيات ويب APIs عالية الأداء سريعاً.
استخدام ServBay لإنشاء وتشغيل مشروع Express.js
في هذه المقالة، سنستخدم بيئة Node.js المقدمة من ServBay لإنشاء وتشغيل مشروع Express.js. سنستخدم ميزة "المضيف" في ServBay لإعداد خادم الويب، والتحقق من المشروع عبر الوكيل العكسي.
إنشاء مشروع Express.js
تهيئة المشروع
أولاً، تأكد من أنك قد قمت بتثبيت بيئة Node.js المقدمة من ServBay. بعدها، استخدم الأمر التالي لتهيئة مشروع Express.js جديد:
bashcd /Applications/ServBay/www npx express-generator servbay-express-app
1
2تثبيت التبعيات
دخول إلى دليل المشروع وتثبيت التبعيات:
bashcd servbay-express-app npm install
1
2
تعديل محتوى مشروع Express.js
تعديل ملف
routes/index.js
افتح ملف
routes/index.js
وعدل المحتوى ليظهر "Hello ServBay!" على صفحة الويب:javascriptvar express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.send('Hello ServBay!'); }); module.exports = router;
1
2
3
4
5
6
7
8
9
الدخول إلى وضع التطوير
تشغيل خادم التطوير
تشغيل خادم التطوير وتحديد المنفذ (على سبيل المثال: 8585):
bashPORT=8585 DEBUG=servbay-express-app:* npm start
1هذا سيقوم بتشغيل خادم تطوير محلي على المنفذ 8585.
تكوين وكيل عكسي في ServBay
استخدام ميزة "المضيف" في ServBay لوصول خادم التطوير عبر الوكيل العكسي. في إعدادات "المضيف" في ServBay، أضف وكيل عكسي جديد:
- الاسم:
My first Express.js dev site
- النطاق:
servbay-express-test.dev
- نوع المضيف:
وكيل عكسي
- IP:
127.0.0.1
- المنفذ:
8585
راجع خطوات الإعداد التفصيلية في إضافة موقع تطوير Nodejs.
- الاسم:
الوصول إلى وضع التطوير
افتح المتصفح وزر
https://servbay-express-test.dev
لمعاينة المشروع مباشرة. بفضل دعم ServBay للنطاق المخصص وشهادة SSL المجانية، ستحصل على أمان أعلى.
نشر نسخة الإنتاج
تحضير بيئة الإنتاج
تأكد من أن مشروعك يعمل بشكل جيد في بيئة الإنتاج. عادةً، مشاريع Express.js لا تحتاج إلى خطوات بناء خاصة، لكن قد تحتاج إلى تعيين بعض متغيرات البيئة أو إعدادات أخرى.
تشغيل خادم الإنتاج
تشغيل خادم الإنتاج وتحديد المنفذ (على سبيل المثال: 8586):
bashPORT=8586 NODE_ENV=production npm start
1تكوين وكيل عكسي في ServBay
استخدام ميزة "المضيف" في ServBay لوصول خادم الإنتاج عبر الوكيل العكسي. في إعدادات "المضيف" في ServBay، أضف وكيل عكسي جديد:
- الاسم:
My first Express.js production site
- النطاق:
servbay-express-test.prod
- نوع المضيف:
وكيل عكسي
- IP:
127.0.0.1
- المنفذ:
8586
- الاسم:
الوصول إلى وضع الإنتاج
افتح المتصفح وزر
https://servbay-express-test.prod
لمعاينة نسخة الإنتاج. بفضل دعم ServBay للنطاق المخصص وشهادة SSL المجانية، ستحصل على أمان أعلى وموثوقية أكثر.
اتصال بقاعدة البيانات
يقدم ServBay دعمًا لقاعدة بيانات Redis، MariaDB، PostgreSQL و MongoDB. فيما يلي كيفية الاتصال بهذه القواعد:
الاتصال بـ MongoDB
تثبيت
mongoose
:bashnpm install mongoose
1ثم استيراده وإنشاء الاتصال:
javascriptvar mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-express-app', { useNewUrlParser: true, useUnifiedTopology: true });
1
2
3الاتصال بـ Redis
تثبيت
redis
:bashnpm install redis
1ثم استيراده وإنشاء الاتصال:
javascriptvar redis = require('redis'); var client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); });
1
2
3
4
5
6الاتصال بـ MariaDB
تثبيت
mariadb
:bashnpm install mariadb
1ثم استيراده وإنشاء الاتصال:
javascriptvar mariadb = require('mariadb'); var pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_express_app' }); pool.getConnection() .then(conn => { console.log("Connected to MariaDB"); conn.release(); //release to pool }) .catch(err => { console.log("Not connected due to error: " + err); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16الاتصال بـ PostgreSQL
تثبيت
pg
:bashnpm install pg
1ثم استيراده وإنشاء الاتصال:
javascriptvar { Pool } = require('pg'); var pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_express_app', password: 'password', port: 5432, }); pool.connect((err, client, done) => { if (err) throw err; console.log('Connected to PostgreSQL'); done(); });
1
2
3
4
5
6
7
8
9
10
11
12
13
14
باتباع الخطوات المذكورة أعلاه، تكون قد قمت بإنشاء وتشغيل مشروع Express.js بنجاح، واستخدام الميزات المقدمة من ServBay لإدارة والوصول إلى مشروعك، فضلاً عن الاتصال بعدة قواعد بيانات.