البرمجة

تقديم تطبيق Angular 2 مع REST API في خادم Node.js

لنلقِ نظرة شاملة على كيفية تقديم تطبيق Angular 2 وREST API باستخدام خادم Node.js. تُعتبر Angular 2 إطار عمل لتطوير تطبيقات الويب الديناميكية الحديثة، بينما يعتبر Node.js بيئة تشغيل للجافا سكريبت على الخادم. سنستخدم Angular CLI و Express.js لإعداد وتشغيل التطبيق.

أولاً وقبل كل شيء، دعنا نقوم بإعداد تطبيق Angular 2 باستخدام Angular CLI وتأكد من أنك قمت بتثبيت Node.js و Angular CLI على جهازك. يمكنك إنشاء تطبيق Angular 2 باستخدام الأمر التالي:

arduino
ng new my-angular-app

ثم، لإضافة Angular Material كحزمة إضافية، قم بتنفيذ:

sql
ng add @angular/material

ثم يمكنك بدء تشغيل تطبيق Angular 2 بواسطة:

ng serve

الآن بعد إعداد تطبيق Angular 2، سنقوم بإنشاء خادم Node.js لتقديم التطبيق والـ REST API. لنقم بذلك باستخدام Express.js. يمكنك البدء بتثبيت Express.js و Body-parser بواسطة npm:

css
npm install express body-parser --save

ثم، يمكنك إنشاء ملف server.js وإضافة الكود التالي لتشغيل خادم Express.js:

javascript
const express = require('express'); const bodyParser = require('body-parser'); const app = express(); const port = process.env.PORT || 3000; app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); // تعريف نقاط النهاية للـ REST API هنا app.listen(port, () => { console.log(`Server is running on port ${port}`); });

الآن، يمكنك إنشاء نقاط النهاية للـ REST API الخاصة بك داخل server.js، وتعيين المسارات المناسبة والمنطق الخاص بك.

لدمج تطبيق Angular 2 مع خادم Node.js، يمكنك ببساطة تضمين الملفات المنشأة من التطبيق Angular داخل مجلد العامل (public folder) الخاص ب Express.js، ومن ثم تقديم تطبيق Angular 2 كمجلد استخدامًا ل Express.js.

في server.js، يمكنك تحديد مسار لتقديم التطبيق Angular:

javascript
app.use(express.static(path.join(__dirname, 'my-angular-app/dist/my-angular-app')));

تأكد من استبدال 'my-angular-app/dist/my-angular-app' بالمسار الصحيح لتطبيق Angular 2 الخاص بك.

بهذا، يمكنك الآن تشغيل خادم Node.js الذي يستضيف تطبيق Angular 2 وكذلك يقدم REST API لتطبيقك. قم بتشغيل الخادم بواسطة:

node server.js

والآن يمكنك الوصول إلى تطبيق Angular 2 الخاص بك عن طريق المتصفح على http://localhost:3000.

المزيد من المعلومات

بالطبع، سنكمل المقال بتوضيح بعض النقاط الإضافية والتحسينات التي يمكن إجراؤها على التطبيق والخادم.

تهيئة خادم Node.js لمنح الوصول للتطبيق Angular

عندما تنشئ تطبيق Angular 2 باستخدام Angular CLI، ستجد أنه يُنشئ مجلدًا يسمى dist يحتوي على ملفات التنفيذ النهائية للتطبيق. يجب على خادم Node.js منح الوصول إلى هذا المجلد لتقديم التطبيق بشكل صحيح. يمكن تحقيق ذلك بإضافة ميزة خاصة ل Express.js تُسمى express.static، والتي تتيح للخادم تقديم الملفات الثابتة.

javascript
app.use(express.static(path.join(__dirname, 'my-angular-app/dist/my-angular-app')));

تقسيم التطبيق إلى مسارات (Routes)

لتنظيم تطبيقك بشكل أفضل وجعله أكثر قابلية للتوسع، يمكنك تقسيمه إلى مسارات مختلفة (routes). على سبيل المثال، يمكنك إنشاء مجلد يسمى routes وتحديد مسارات API داخله. يمكنك بسهولة تقديم هذه المسارات داخل ملف server.js أو توزيعها على ملفات منفصلة لجعل الرمز أكثر تنظيمًا.

استخدام بيئات التطوير والإنتاج

في المرحلة الأولية من تطوير التطبيق، من الممكن أن تقوم بتشغيل التطبيق باستخدام ng serve لتجربة التغييرات ورؤية النتائج على الفور. ومع ذلك، عندما تكون جاهزًا لنشر التطبيق على الإنترنت، من المهم تحويل التطبيق لوضع الإنتاج (production mode) وتحديد بيئة الخادم ليكون في وضع التطوير أو الإنتاج بناءً على الحالة.

الأمان والمصادقة

يجب أن تأخذ في الاعتبار أيضًا قضايا الأمان والمصادقة عند تقديم REST API. يجب التحقق من صحة البيانات المُرسلة من العميل وتطبيق آليات المصادقة اللازمة، مثل JWT (JSON Web Tokens)، لضمان أن فقط المستخدمين المصرح لهم يمكنهم الوصول إلى الموارد المحمية.

تصحيح الأخطاء وإدارة الأخطاء

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

اختبار التطبيق

لا تنسى أهمية اختبار التطبيق بشكل جيد قبل نشره على الإنترنت. يمكنك استخدام أدوات الاختبار المختلفة مثل Jasmine و Karma لاختبار التطبيق Angular واستخدام Mocha أو Jest لاختبار خادم Node.js.

باستخدام هذه النصائح والتوجيهات، يمكنك البدء في بناء تطبيق Angular 2 مع REST API باستخدام خادم Node.js بكفاءة وفعالية، وتحسين تجربة المستخدم وأمان التطبيق في الوقت نفسه.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر