Orbit

Orbit'te Desteklenen Çerçeveler ve Çalışma Zamanları

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 veya pnpm ile yüklenen ve bir dosya klasörü veya Node.js sunucusu üreten herhangi bir projeyi oluşturabilir. Framework ve paket yöneticisini sizin için algılar, bu nedenle çoğu proje hiçbir yapı yapılandırması olmadan dağıtılır. Bu rehber, neyin algılandığını, her yaygın framework'ün ihtiyaç duyduğu ayarları, sunucu modunu ne zaman açmanız gerektiğini ve Node.js sürümünü nasıl seçeceğinizi kapsar.

Orbit'in Otomatik Olarak Algıladığı Şeyler

Bir yapı çalıştığında, Orbit ne bulduğunu kaydeder ve size geri gösterir:

  • Framework, dağıtım ayrıntısı sayfasında ve proje genel görünümündeki dağıtım kartlarında bir rozet olarak.
  • Paket yöneticisi, kilitli dosyanızdan seçilir: package-lock.json npm'yi verir, yarn.lock yarn'yi verir, pnpm-lock.yaml pnpm'yi verir.

Settings bölümündeki yapı ayarlarının tümü isteğe bağlıdır. Bir alanı boş bırakın ve yer tutucu bunun yerine neyin kullanılacağını söyler: Install command gösterir npm ci (auto-detected), Build command gösterir npm run build (auto-detected) ve Output directory gösterir dist (auto-detected).

Orbit proje ayarlarında yapı ayarları

Tam olarak bir kilitli dosya işleyin. Depo içinde hem package-lock.json hem de yarn.lock varsa, Orbit'in seçtiği paket yöneticisi yerel olarak kullandığınız paket yöneticisi olmayabilir ve görünür bir neden olmadan makinenizden farklı davranan bir yükleme alırsınız. Kullanmadığınız olanı silin.

Framework'e Göre Ayarlar

Bunlar her framework'ün ihtiyaç duyduğu değerlerdir. Orbit'in framework için başlangıç şablonu bulunduğu durumlarda, şablon tam olarak bu ayarları kullanır.

FrameworkBuild commandOutput directoryServer mode
Next.js, static exportnpm run buildoutKapalı
Next.js, SSR or ISRnpm run build.nextAçık
Astro, staticastro builddistKapalı
Astro, server or hybridastro builddistAçık
Vite (React, Vue, Svelte)npm run builddistKapalı
SvelteKitnpm run buildbuildAdaptöre bağlıdır
Nuxt 3npm run build.outputAçık
Remixnpm run buildbuildAçık
Express or a plain Node APInpm run builddistAçık
Create React Appnpm run buildbuildKapalı
Plain HTML or a static generatorboş bırakın veya jeneratörünüzün komutunu yazın. veya yazdığı klasörKapalı

Vite her zaman dist içine yazar; build.outDir öğesini vite.config.ts içinde ayarlamadığınız sürece. Astro'nun çıkış klasörü her modda dist dir; modlar arasında değişen şey dosyaların nereye indiği değil, sunucu moduna ihtiyacınız olup olmadığıdır.

Sunucu Modu

Server mode, Settings içinde Runtime altında bulunan bir geçişdir. Açık olduğunda, Orbit her dağıtımdan sonra statik dosya klasörü sunmak yerine npm start çalıştıran yapı makinesini canlı tutar.

Next.js SSR, Remix, Nuxt, bir Express API'si ve statik dışa aktarma olmayan başka herhangi bir şey için açın. Gerçekten statik bir yapı için kapalı bırakın.

Sonraki dağıtımdan başlayarak uygulanır, şu anda canlı olan dağıtıma değil.

Eksik sunucu modunun klasik semptomu, ana sayfanın mükemmel yüklendiği ve her dinamik rotanın 404 döndürdüğü bir sitedir. Yapı başarılı oldu, dosyalar yayınlandı ve rotaları cevaplayacak basitçe hiç sunucu çalışmıyor. Bunu görüyorsanız, başka bir şey değiştirmeden önce sunucu modunu açın ve yeniden dağıtın.

Node.js Sürümü

Settings içinde Build settings altında Node.js version ayarlayın. Yalnızca ana sürüm numarasını girin: 18, 20 veya 22. Varsayılan platformu kullanmak için boş bırakın.

Sürüm, hem yapıya hem de sunucu modu açık olduğunda çalışma zamanına uygulanır.

Varsayılana güvenmek yerine sürümü açıkça sabitleyin. Varsayılandan daha yeni bir Node gerektiren bir bağımlılık, açık olmayan bir şekilde bunu söylemekle hata vererek yüklemeyi başarısız kılar ve sabitleme, "dün çalışıyordu" yapı hatalarının tamamını ortadan kaldırır.

Monorepos

Root directory öğesini uygulamayı içeren alt dizine ayarlayın (örneğin apps/web). Orbit, yükleme ve yapı komutlarını çalıştırmadan önce bu dizine girer.

Aynı zamanda istediğiniz ancak beklemeyebileceğiniz bir şey yapar: yalnızca bu yolun dışındaki dosyaları değiştiren itişler otomatik olarak atlanır. Dört Orbit projesine sahip bir monorepo, bu nedenle yalnızca bir işlemin gerçekten dokunduğu uygulamaları yeniden oluşturur.

Her ortam, Settings içinde Staging: build overrides altında kök dizini ayrı olarak geçersiz kılabilir; bu, hazırlama aşamasının farklı bir çalışma alanını oluşturması durumunda kullanışlıdır.

Özel Yapı Ayarları

Settings içinde Build settings altında herhangi bir şeyi geçersiz kılın:

AlanÖrnekNotlar
Install commandnpm ciVeya yarn install --frozen-lockfile, pnpm install --frozen-lockfile
Build commandnpm run build:prodYazıldığı gibi çalıştırın
Output directorydist/clientYapıdan sonra yayınlanan klasör
Root directoryapps/frontendMonorepo alt dizini
Node.js version20Yalnızca ana sürüm

Boş, otomatik algılamayı gösterir. Uygulamak için Yapı ayarları kartında Save öğesine tıklayın.

Hazırlama aşaması bunların herhangi birini bağımsız olarak geçersiz kılabilir, Staging: build overrides bölümünde. Orada boş bırakılan bir alan, proje düzeyindeki değeri miras alır, bu nedenle hazırlama için yalnızca yapı komutunu değiştirebilir ve başka her şey aynı kalabilir.

Yapı Önbelleği

Orbit, Liftoff ve Apex planlarındaki yapılar arasında node_modules öğesini önbelleğe alır. Önbellek kullanıldığında, dağıtım bir Cache hit rozeti gösterir ve yükleme aşaması çok daha kısadır. Olmadan bir yapı Cold build gösterir.

Tam yeniden yükleme zorunlu kılmak için Settings öğesini açın, ardından Clear build cache öğesini açın ve onaylayın. Her ortamın sonraki dağıtımı sıfırdan tam bir yükleme çalıştırır. Bu geri alınamaz ve ondan sonraki yapı yavaş olacaktır.

Yapı Makinesi Kaynakları

Yapı makinesi boyutu planınıza bağlıdır; bu, büyük yapılar için önemlidir:

PlanvCPURAMDiskTime limit
Launch11 GB4 GB30 dakika
Liftoff22 GB8 GB30 dakika
Apex44 GB16 GB30 dakika

Belleği bitiren veya diskini dolduran bir yapı, dağıtım sayfasında bu hata kategorisi adıyla başarısız olur. NODE_OPTIONS=--max-old-space-size yükseltmek yalnızca makinenin gerçek RAM'ine kadar yardımcı olur.

Şablondan Başlama

Depo olmadan dağıtımı çalışmak istiyorsanız, başlangıç şablonunu kullanın. New project öğesinde Import Git Repo öğesinden Start from Template öğesine geçin ve birini seçin: shadcn/ui ile Next.js, bir Astro pazarlama sitesi, Remix Indie Stack, bir SvelteKit başlangıcı, minimal bir Nuxt 3 uygulaması veya bir Express REST API'si. Orbit şablonu kopyalar, doğru yapı ayarlarını uygular ve dağıtır.

İlgili Okuma

Hala yardıma mı ihtiyacınız var?

Bize şu adresinden e-posta gönderin: support@kapsulehost.com ya da KPanel'de sohbet açın.

KPanel'i Aç