
يأخذ OpenNext الإخراج التالي. js يحوله إلى حزم يمكن نشرها عبر مجموعة متنوعة من البيئات. يتمتع NANTER OpenNext بدعم لـ AWS Lambda ، وخادم Node.js Classic.
يهدف OpenNext إلى دعم جميع ميزات Next.js 14. بعض الميزات تعمل في التقدم. إذا كنت تواجه أي مشاكل ، فتأكد من التحقق من المستندات أولاً قبل فتح مشكلة جديدة أو زيارة خلافنا لإعلامنا!
Gymshark UK ، Udacity ، Tudn ، NHS England
للتخصيص ، تحتاج إلى إنشاء ملف open-next.config.ts في نفس المكان مثل next.config.js ، وتصدير كائن افتراضي يرضي واجهة OpenNextConfig . من الممكن عدم وجود ملف مفتوح next.config.ts ، وسيتم تطبيق التكوين الافتراضي تلقائيًا.
يمكن تنفيذ OpenNext في وضع التصحيح عن طريق تعيين متغير البيئة OPEN_NEXT_DEBUG=true قبل الإنشاء.
سيؤدي ذلك إلى إخراج الكثير من السجلات الإضافية إلى وحدة التحكم. هذا أيضا تعطيل الإرهاق في esbuild ، وإضافة خرائط المصدر إلى الإخراج. يمكن أن يؤدي ذلك إلى رمز قد يصل إلى 2-3x أكبر من بناء الإنتاج. لا تمكن هذا في الإنتاج.
يمكنك قراءة المزيد حول التكوين في المستندات
إلى جانب إصدارات NPM القياسية ، ننشر أيضًا تلقائيًا حزم prelease على الدفعات الفرعية (باستخدام pkg.pr.new ):
https://pkg.pr.new/@opennextjs/aws@main : تم تحديثه مع كل دفعة إلى الفرع main ، يحتوي هذا prelease على النسخة الأكثر ثباتًا (بشكل معقول) (بشكل معقول) من الحزمة.https://pkg.pr.new/@opennextjs/aws@experimental تم تحديثه مع كل دفعة إلى الفرع experimental ، يحتوي هذا prelease على أحدث إصدار تجريبي من الحزمة (تحتوي على ميزات نريد اختبارها/التجربة قبل الالتزام).الذي يمكنك ببساطة التثبيت مباشرة مع مدير الحزمة المفضل لديك ، على سبيل المثال:
npm i https://pkg.pr.new/@opennextjs/aws@main لتشغيل OpenNext محليًا:
استنساخ هذا المستودع.
بناء open-next :
cd packages/open-next
pnpm build قم بتشغيل open-next في وضع الساعة:
pnpm dev الآن ، يمكنك إجراء تغييرات في open-next وإنشاء تطبيق Next.js لاختبار التغييرات.
cd path/to/my/nextjs/app
path/to/opennextjs-aws/packages/open-next/dist/index.js buildيوفر لك OpenNext وظيفة أكثر دفئًا يمكن استخدامها لتقليل البدء البارد.
في Lambda ، هناك سيناريوهات متعددة حيث سيؤدي Lambda إلى بدء بداية باردة حتى لو كان لديك بعض الأمثلة المستعادة. على سبيل المثال ، إذا كان لديك طلبات أكثر من الحالات الدافئة ، فستحصل على بداية باردة. أيضًا NextJS Lazy Lazy على المسارات ، لذلك حتى لو كنت قد وصلت إلى مثيل دافئ ، فقد لم يتم تحميل هذا المسار المحدد بعد.
نحن ممتنون للمشاريع التي ألهمت OpenNext والأدوات والمكتبات المذهلة التي طورها المجتمع:
الصراخ الخاص إلى khuezy و @conico974 لمساهماتهما البارزة في المشروع.
تحتفظ بها SST. انضم إلى مجتمعنا: Discord | يوتيوب | تغريد