Orbit

الأطر والبيئات المدعومة في Orbit

Orbit builds any project that installs with npm, yarn or pnpm and produces a folder of files or a Node.js server, and it detects the framework and package manager for you so most projects deploy…

Orbit يبني أي مشروع يتم تثبيته باستخدام npm أو yarn أو pnpm وينتج مجلد ملفات أو خادم Node.js، ويكتشف الإطار ومدير الحزم لك بحيث يتم نشر معظم المشاريع بدون أي إعدادات بناء على الإطلاق. يغطي هذا الدليل ما يتم اكتشافه، والإعدادات التي يحتاجها كل إطار عمل شائع، ومتى يجب عليك تشغيل وضع الخادم، وكيفية اختيار إصدار Node.js.

ما يكتشفه Orbit تلقائياً

عند تشغيل البناء، يسجل Orbit ما وجده ويعرضه عليك:

  • الإطار، على صفحة تفاصيل النشر وكشارة على بطاقات النشر على نظرة عامة على المشروع.
  • مدير الحزم، المختار من ملف الأقفال الخاص بك: package-lock.json يعطي npm، yarn.lock يعطي yarn، pnpm-lock.yaml يعطي pnpm.

إعدادات البناء في Settings كلها اختيارية. اترك حقلاً فارغاً وسيخبرك النص التوضيحي الخاص به بما سيتم استخدامه بدلاً من ذلك: أمر التثبيت يظهر npm ci (auto-detected)، أمر البناء يظهر npm run build (auto-detected)، و مجلد الإخراج يظهر dist (auto-detected).

إعدادات البناء في إعدادات مشروع Orbit

التزم بملف أقفال واحد بالضبط. إذا كان package-lock.json و yarn.lock كلاهما في المستودع، فقد لا يكون مدير الحزم الذي يختاره Orbit هو الذي تستخدمه محلياً، وستحصل على تثبيت يتصرف بشكل مختلف عن جهازك بدون سبب واضح. احذف الذي لا تستخدمه.

الإعدادات حسب الإطار

هذه هي القيم التي يحتاجها كل إطار عمل. حيث يشحن Orbit قالب بادئ للإطار، يستخدم القالب بالضبط هذه الإعدادات.

الإطارأمر البناءمجلد الإخراجوضع الخادم
Next.js، التصدير الثابتnpm run buildoutإيقاف
Next.js، SSR أو ISRnpm run build.nextتشغيل
Astro، ثابتastro builddistإيقاف
Astro، خادم أو هجينastro builddistتشغيل
Vite (React, Vue, Svelte)npm run builddistإيقاف
SvelteKitnpm run buildbuildيعتمد على المحول
Nuxt 3npm run build.outputتشغيل
Remixnpm run buildbuildتشغيل
Express أو API عادية Nodenpm run builddistتشغيل
Create React Appnpm run buildbuildإيقاف
HTML عادية أو مولد ثابتاترك فارغاً، أو أمر المولد الخاص بك. أو المجلد الذي يكتبهإيقاف

يكتب Vite دائماً إلى dist ما لم تحدد build.outDir في vite.config.ts. مجلد إخراج Astro هو dist في كل وضع، ما يتغير بين الأوضاع هو ما إذا كنت تحتاج إلى وضع الخادم، وليس حيث تهبط الملفات.

وضع الخادم

وضع الخادم هو مفتاح تبديل في Settings، تحت Runtime. عندما يكون قيد التشغيل، يحافظ Orbit على جهاز البناء حياً يعمل npm start بعد كل نشر بدلاً من خدمة مجلد من الملفات الثابتة.

قم بتشغيله لـ Next.js مع SSR و Remix و Nuxt و Express API وأي شيء آخر ليس تصديراً ثابتاً. اتركه مطفأً لبناء ثابت حقيقي.

يتم تطبيقه من النشر التالي، وليس على النشر الذي يعمل حالياً.

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

إصدار Node.js

حدد إصدار Node.js في Settings تحت إعدادات البناء. أدخل رقم الإصدار الرئيسي فقط: 18, 20 أو 22. اتركه فارغاً لاستخدام الإفتراضي للمنصة.

ينطبق الإصدار على كل من البناء وعند تشغيل وضع الخادم، وقت التشغيل.

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

Monorepos

قم بتعيين مجلد الجذر إلى المجلد الفرعي الذي يحتوي على التطبيق، على سبيل المثال apps/web. يتغير Orbit إلى هذا المجلد قبل تشغيل أوامر التثبيت والبناء الخاصة بك.

كما يفعل شيء تريده ولكن قد لا تتوقعه: يتم تخطي الدفعات التي تغير فقط الملفات خارج هذا المسار تلقائياً. يعيد بناء monorepo يحتوي على أربعة مشاريع Orbit فقط التطبيقات التي يلمسها الالتزام فعلاً.

يمكن لكل بيئة تجاوز مجلد الجذر بشكل منفصل، تحت التدريج: تجاوزات البناء في Settings، وهو مفيد عندما يبني التدريج مساحة عمل مختلفة.

إعدادات البناء المخصصة

تجاوز أي شيء في Settings، تحت إعدادات البناء:

الحقلمثالملاحظات
أمر التثبيتnpm ciأو yarn install --frozen-lockfile, pnpm install --frozen-lockfile
أمر البناءnpm run build:prodيعمل بالضبط كما هو مكتوب
مجلد الإخراجdist/clientالمجلد المنشور بعد البناء
مجلد الجذرapps/frontendمجلد فرعي من monorepo
إصدار Node.js20رقم الإصدار الرئيسي فقط

فارغ يعني الكشف التلقائي. انقر على حفظ على بطاقة إعدادات البناء للتطبيق.

يمكن للتدريج تجاوز أي من هذه بشكل مستقل، في قسم التدريج: تجاوزات البناء. الحقل المترك فارغاً هناك يرث القيمة على مستوى المشروع، بحيث يمكنك تغيير أمر البناء للتدريج فقط وترك كل شيء آخر وحده.

ذاكرة التخزين المؤقت للبناء

يخزن Orbit node_modules بين البنايات في خطط Liftoff و Apex. عند استخدام الذاكرة المؤقتة، يعرض النشر شارة إصابة ذاكرة التخزين المؤقت وتكون مرحلة التثبيت أقصر بكثير. البناء بدونها يظهر بناء بارد.

لفرض إعادة تثبيت كاملة، افتح Settings، ثم مسح ذاكرة التخزين المؤقت للبناء، وأكد. يعمل النشر التالي لكل بيئة بتثبيت كامل من الصفر. لا يمكن التراجع عن هذا، وسيكون البناء الذي يليه بطيئاً.

موارد جهاز البناء

يعتمد حجم جهاز البناء على خطتك، وهو ما يهم للبناءات الكبيرة:

الخطةvCPURAMDiskحد الوقت
Launch11 GB4 GB30 دقيقة
Liftoff22 GB8 GB30 دقيقة
Apex44 GB16 GB30 دقيقة

البناء الذي ينفد من الذاكرة أو يملأ قرصه يفشل مع فئة الفشل تلك المسماة على صفحة النشر. رفع NODE_OPTIONS=--max-old-space-size يساعد فقط حتى RAM الفعلية للجهاز.

البدء من قالب

إذا كنت تريد نشراً عاملاً قبل أن يكون لديك مستودع، استخدم قالب بادئ. على مشروع جديد، بدّل من استيراد Git Repo إلى البدء من القالب واختر واحداً: Next.js مع shadcn/ui، موقع تسويق Astro، Remix Indie Stack، مبتدئ SvelteKit، تطبيق Nuxt 3 بسيط، أو REST API Express. ينسخ Orbit القالب، يطبق إعدادات البناء الصحيحة، وينشره.

قراءة ذات صلة

هل تحتاج إلى مساعدة إضافية؟

راسلنا على البريد الإلكتروني support@kapsulehost.com أو افتح محادثة في KPanel.

فتح KPanel
الأطر والبيئات المدعومة في Orbit