"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إنشاء واجهة خلفية بدون خادم لـ Next.js باستخدام AWS Lambda

إنشاء واجهة خلفية بدون خادم لـ Next.js باستخدام AWS Lambda

تم النشر بتاريخ 2024-11-08
تصفح:151

Building a Serverless Backend for Next.js with AWS Lambda
في عالم تطوير الويب الذي يتطور باستمرار، أصبحت الاستفادة من البنى بدون خادم بمثابة تغيير في قواعد اللعبة، خاصة بالنسبة لتطبيقات Next.js. من خلال دمج AWS Lambda، يمكن للمطورين إنشاء واجهات خلفية فعالة وقابلة للتطوير دون تحمل تكاليف إدارة الخوادم. في هذا المنشور، سنستكشف كيفية إنشاء واجهة خلفية بدون خادم لتطبيق Next.js الخاص بك باستخدام AWS Lambda، وسنضيف بعض الكلمات الرئيسية العصرية لمساعدتك في اكتشاف هذا المنشور.

لماذا بدون خادم؟
يسمح النموذج بدون خادم للمطورين بالتركيز على كتابة التعليمات البرمجية دون القلق بشأن إدارة الخادم. فيما يلي بعض الفوائد الرئيسية:
قابلية التوسع: تقوم AWS Lambda تلقائيًا بتوسيع نطاق تطبيقاتك استجابةً لحركة المرور الواردة.
فعالية التكلفة: ادفع فقط مقابل وقت الحوسبة الذي تستهلكه، دون أي تكاليف مقدمة.
صيانة أقل: قل وداعًا لصيانة الخادم ومرحبًا بكتابة التعليمات البرمجية!
إعداد تطبيق Next.js
أول الأشياء أولاً، لنقم بإعداد تطبيق Next.js. إذا لم تكن قد قمت بذلك بالفعل، فقم بتثبيت Next.js:

Building a Serverless Backend for Next.js with AWS Lambda

بعد ذلك، تأكد من أن لديك التبعيات المطلوبة:

Building a Serverless Backend for Next.js with AWS Lambda
تكوين AWS Lambda
الخطوة 1: إنشاء حساب AWS
إذا لم يكن لديك حساب AWS، قم بالتسجيل هنا. تقدم AWS طبقة مجانية تتضمن وظائف Lambda.
الخطوة 2: تثبيت إطار عمل بدون خادم
يعمل إطار العمل بدون خادم على تسهيل إدارة ونشر التطبيقات بدون خادم. تثبيته عالميًا:

Building a Serverless Backend for Next.js with AWS Lambda

الخطوة 3: إنشاء مشروع بدون خادم
داخل دليل مشروع Next.js، قم بتهيئة مشروع بدون خادم:

Building a Serverless Backend for Next.js with AWS Lambda

سيؤدي هذا إلى إنشاء بنية مشروع أساسية بدون خادم.

الخطوة 4: تكوين serverless.yml
افتح ملف serverless.yml وقم بتكوينه على النحو التالي:

Building a Serverless Backend for Next.js with AWS Lambda

الخطوة 5: اكتب وظيفة Lambda الخاصة بك
قم بإنشاء ملف Handler.js في دليل الواجهة الخلفية بدون خادم:

Building a Serverless Backend for Next.js with AWS Lambda

النشر على AWS
لنشر الواجهة الخلفية بدون خادم، قم بتشغيل:

Building a Serverless Backend for Next.js with AWS Lambda
ستتلقى عنوان URL لنقطة النهاية. ستكون هذه نقطة نهاية واجهة برمجة التطبيقات (API) الخاصة بك!

ربط Next.js بـ AWS Lambda
الآن، لنجعل تطبيق Next.js الخاص بنا يستدعي وظيفة AWS Lambda. افتح pages/api/hello.js وأضف الكود التالي:

Building a Serverless Backend for Next.js with AWS Lambda

استبدل YOUR_LAMBDA_ENDPOINT بعنوان URL الفعلي لنقطة النهاية من النشر بدون خادم.
اختبار الإعداد
قم بتشغيل تطبيق Next.js الخاص بك:

Building a Serverless Backend for Next.js with AWS Lambda
تفضل بزيارة http://localhost:3000/api/hello في متصفحك. يجب أن تشاهد الاستجابة من وظيفة Lambda الخاصة بك!

خاتمة
تهانينا! لقد نجحت في إعداد واجهة خلفية بدون خادم لتطبيق Next.js باستخدام AWS Lambda. من خلال تسخير قوة البنية بدون خادم، يمكنك إنشاء تطبيقات قابلة للتطوير تركز على الوظائف بدلاً من البنية التحتية.

الوجبات السريعة الرئيسية:
الخادم بدون خادم هو المستقبل: يبسط النشر والقياس.
Next.js وAWS Lambda: مزيج قوي لتطبيقات الويب الحديثة.
حلول فعالة من حيث التكلفة: ادفع فقط مقابل ما تستخدمه!
إذا وجدت هذا المنشور مفيدًا، ففكر في متابعتي للحصول على مزيد من الأفكار حول البنى بدون خادم، ونصائح Next.js، وأفضل ممارسات AWS! شارك أفكارك في التعليقات أدناه — ما هي المشاريع الأخرى التي لا تحتوي على خادم والتي تعمل عليها؟

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/sshamza/building-a-serverless-backend-for-nextjs-with-aws-lambda-2oo6?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3