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.jsonnpm'yi verir,yarn.lockyarn'yi verir,pnpm-lock.yamlpnpm'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).

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.
| Framework | Build command | Output directory | Server mode |
|---|---|---|---|
| Next.js, static export | npm run build | out | Kapalı |
| Next.js, SSR or ISR | npm run build | .next | Açık |
| Astro, static | astro build | dist | Kapalı |
| Astro, server or hybrid | astro build | dist | Açık |
| Vite (React, Vue, Svelte) | npm run build | dist | Kapalı |
| SvelteKit | npm run build | build | Adaptöre bağlıdır |
| Nuxt 3 | npm run build | .output | Açık |
| Remix | npm run build | build | Açık |
| Express or a plain Node API | npm run build | dist | Açık |
| Create React App | npm run build | build | Kapalı |
| Plain HTML or a static generator | boş bırakın veya jeneratörünüzün komutunu yazın | . veya yazdığı klasör | Kapalı |
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 | Örnek | Notlar |
|---|---|---|
| Install command | npm ci | Veya yarn install --frozen-lockfile, pnpm install --frozen-lockfile |
| Build command | npm run build:prod | Yazıldığı gibi çalıştırın |
| Output directory | dist/client | Yapıdan sonra yayınlanan klasör |
| Root directory | apps/frontend | Monorepo alt dizini |
| Node.js version | 20 | Yalnı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:
| Plan | vCPU | RAM | Disk | Time limit |
|---|---|---|---|---|
| Launch | 1 | 1 GB | 4 GB | 30 dakika |
| Liftoff | 2 | 2 GB | 8 GB | 30 dakika |
| Apex | 4 | 4 GB | 16 GB | 30 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
- Yapı Komutunuzu ve Çıkış Dizininizi Yapılandırma - framework başına ayrıntı ve yaygın hatalar için
- Başarısız Yapıları Sorun Giderme
- Orbit Plan Sınırları