إنشاء وتشغيل مشروع Koa.js
ما هو Koa.js؟
Koa.js هو إطار عمل ويب لـ Node.js تم تطويره بواسطة فريق Express.js. يهدف إلى أن يكون أساسًا أصغر وأكثر تعبيرًا وقوة لبناء تطبيقات الويب وواجهات برمجة التطبيقات (API). يستفيد Koa.js من مزايا JavaScript الحديثة (مثل async/await)، مما يجعل كتابة middleware ومعالجة الطلبات أبسط وأكثر وضوحًا.
الميزات والفوائد الرئيسية لـ Koa.js
- مبسط وحديث: يستفيد من بناء الجملة async/await، مما يجعل معالجة العمليات غير المتزامنة أكثر وضوحًا.
- آلية middleware: يعتمد Koa.js على كومة middleware لمعالجة الطلبات والاستجابات، مما يوفر مرونة كبيرة.
- خفيف الوزن: النواة صغيرة جدًا، تحتوي فقط على الوظائف الأساسية، ويمكن إضافة middleware حسب الحاجة.
- أداء عالٍ: بسبب تصميمه البسيط وطريقة المعالجة غير المتزامنة الحديثة، يعد Koa.js عالي الأداء.
استخدام Koa.js يمكن أن يساعد المطورين على بناء تطبيقات ويب وواجهات برمجة التطبيقات (API) سريعة الأداء.
استخدام ServBay لإنشاء وتشغيل مشروع Koa.js
في هذه المقالة، سنستخدم بيئة Node.js التي يوفرها ServBay لإنشاء وتشغيل مشروع Koa.js. سنستخدم وظيفة 'المضيف' في ServBay لإعداد خادم ويب والوصول إلى المشروع من خلال proxy.
إنشاء مشروع Koa.js
تهيئة المشروع
أولاً، تأكد من أنك قد قمت بتثبيت بيئة Node.js التي يوفرها ServBay. ثم استخدم الأوامر التالية لتهيئة مشروع Koa.js جديد:
bashcd /Applications/ServBay/www mkdir servbay-koa-app cd servbay-koa-app npm init -y npm install koa
1
2
3
4
5إنشاء ملف التطبيق
في دليل المشروع الجذري، أنشئ ملف
app.js
وأضف الكود التالي:javascriptconst Koa = require('koa'); const app = new Koa(); app.use(async ctx => { ctx.body = 'Hello ServBay!'; }); const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); });
1
2
3
4
5
6
7
8
9
10
11
الدخول إلى وضع التطوير
تشغيل خادم التطوير
بدء تشغيل خادم التطوير وتحديد المنفذ (على سبيل المثال: 8585):
bashPORT=8585 node app.js
1سيؤدي ذلك إلى بدء تشغيل خادم التطوير محليًا وكشف المنفذ 8585.
تكوين proxy لخادم ServBay
استخدم وظيفة 'المضيف' في ServBay للوصول إلى خادم التطوير من خلال proxy. في إعدادات 'المضيف' في ServBay، أضف proxy جديد:
- الاسم:
My first Koa.js dev site
- اسم النطاق:
servbay-koa-test.dev
- نوع المضيف:
proxy
- IP:
127.0.0.1
- المنفذ:
8585
لمعرفة خطوات الإعداد التفصيلية يرجى الرجوع إلى إضافة موقع تطوير Nodejs.
- الاسم:
الوصول إلى وضع التطوير
افتح المتصفح وزر
https://servbay-koa-test.dev
، لمشاهدة المشروع في الوقت الفعلي. نظرًا لدعم ServBay أسماء النطاقات المخصصة وشهادات SSL المجانية، ستحصل على أمان أعلى.
نشر الإصدار الإنتاجي
إعداد بيئة الإنتاج
تأكد من أن مشروعك يعمل بشكل صحيح في بيئة الإنتاج. عادةً، لا يحتاج مشروع Koa.js إلى خطوات بناء خاصة، لكن قد تحتاج إلى إعداد بعض المتغيرات البيئية أو إجراء تعديلات أخرى.
تشغيل خادم الإنتاج
بدء تشغيل خادم الإنتاج وتحديد المنفذ (على سبيل المثال: 8586):
bashPORT=8586 NODE_ENV=production node app.js
1تكوين proxy لخادم ServBay
استخدم وظيفة 'المضيف' في ServBay للوصول إلى خادم الإنتاج من خلال proxy. في إعدادات 'المضيف' في ServBay، أضف proxy جديد:
- الاسم:
My first Koa.js production site
- اسم النطاق:
servbay-koa-test.prod
- نوع المضيف:
proxy
- IP:
127.0.0.1
- المنفذ:
8586
- الاسم:
الوصول إلى وضع الإنتاج
افتح المتصفح وزر
https://servbay-koa-test.prod
، لمشاهدة الإصدار الإنتاجي. باستخدام أسماء النطاقات المخصصة وشهادات SSL المجانية من ServBay، سيكون موقعك أكثر أمانًا ومصداقية.
الاتصال بقاعدة البيانات
يوفر ServBay دعمًا لقواعد البيانات مثل Redis، وMariaDB، وPostgreSQL، وMongoDB. إليك كيفية الاتصال بهذه القواعد.
الاتصال بـ MongoDB
تثبيت
mongoose
:bashnpm install mongoose
1ثم قم بتضمينه في المشروع والاتصال به:
javascriptconst mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/servbay-koa-app', { useNewUrlParser: true, useUnifiedTopology: true });
1
2
3الاتصال بـ Redis
تثبيت
redis
:bashnpm install redis
1ثم قم بتضمينه في المشروع والاتصال به:
javascriptconst redis = require('redis'); const client = redis.createClient(); client.on('error', function (err) { console.log('Error ' + err); });
1
2
3
4
5
6الاتصال بـ MariaDB
تثبيت
mariadb
:bashnpm install mariadb
1ثم قم بتضمينه في المشروع والاتصال به:
javascriptconst mariadb = require('mariadb'); const pool = mariadb.createPool({ host: 'localhost', user: 'root', password: 'password', database: 'servbay_koa_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ثم قم بتضمينه في المشروع والاتصال به:
javascriptconst { Pool } = require('pg'); const pool = new Pool({ user: 'user', host: 'localhost', database: 'servbay_koa_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
باتباع الخطوات المذكورة أعلاه، تكون قد قمت بإنشاء وتشغيل مشروع Koa.js بنجاح باستخدام وظائف ServBay لإدارة الوصول إلى المشروع، وكذلك الاتصال بمختلف قواعد البيانات.