Orbit
Ondersteunde Frameworks en Runtimes in 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 bouwt elk project dat met npm, yarn of pnpm installeert en een map met bestanden of een Node.js-server produceert. Het detecteert het framework en packagemanager voor je, zodat de meeste projecten zonder buildconfiguratie worden gedeployd. Deze gids behandelt wat wordt gedetecteerd, welke instellingen elk veelgebruikt framework nodig heeft, wanneer je servermodus moet inschakelen en hoe je een Node.js-versie kiest.
Wat Orbit Automatisch Detecteert
Wanneer een build wordt uitgevoerd, registreert Orbit wat het heeft gevonden en toont het aan jou:
- Framework, op de deployment detailpagina en als badge op deployment kaarten op het projectoverzicht.
- Packagemanager, gekozen uit je lockfile:
package-lock.jsongeeft npm,yarn.lockgeeft yarn,pnpm-lock.yamlgeeft pnpm.
De buildinstellingen in Settings zijn allemaal optioneel. Laat een veld leeg en de placeholder geeft je aan wat in plaats daarvan wordt gebruikt: Install command toont npm ci (auto-detected), Build command toont npm run build (auto-detected), en Output directory toont dist (auto-detected).

Commit exact één lockfile. Als zowel package-lock.json als yarn.lock in de repository staan, is de packagemanager die Orbit kiest mogelijk niet degene die je lokaal gebruikt, en je krijgt een installatie die anders werkt dan je machine zonder zichtbare reden. Verwijder degene die je niet gebruikt.
Instellingen Per Framework
Dit zijn de waarden die elk framework nodig heeft. Wanneer Orbit een startersjabloon voor het framework levert, gebruikt het sjabloon exact deze instellingen.
| Framework | Build command | Output directory | Server mode |
|---|---|---|---|
| Next.js, static export | npm run build | out | Uit |
| Next.js, SSR of ISR | npm run build | .next | Aan |
| Astro, static | astro build | dist | Uit |
| Astro, server of hybrid | astro build | dist | Aan |
| Vite (React, Vue, Svelte) | npm run build | dist | Uit |
| SvelteKit | npm run build | build | Hangt af van adapter |
| Nuxt 3 | npm run build | .output | Aan |
| Remix | npm run build | build | Aan |
| Express of een eenvoudige Node API | npm run build | dist | Aan |
| Create React App | npm run build | build | Uit |
| Gewone HTML of een statische generator | leeg laten, of de command van je generator | . of de map die het schrijft | Uit |
Vite schrijft altijd naar dist tenzij je build.outDir in vite.config.ts hebt ingesteld. De outputmap van Astro is dist in elke modus; wat tussen modi verandert, is of je servermodus nodig hebt, niet waar de bestanden terechtkomen.
Server Mode
Server mode is een schakelaar in Settings, onder Runtime. Wanneer deze aan staat, houdt Orbit de buildmachine actief en voert npm start uit na elke deploy in plaats van een map met statische bestanden te serveren.
Zet het aan voor Next.js met SSR, Remix, Nuxt, een Express API en alles wat geen statische export is. Laat het uit voor een echt statische build.
Het is van toepassing vanaf de volgende deploy, niet op de deployment die momenteel live is.
Het klassieke symptoom van een ontbrekende servermodus is een site waar de homepage perfect laadt en elke dynamische route een 404 retourneert. De build is geslaagd, de bestanden zijn gepubliceerd, en er draait gewoon geen server om de routes te beantwoorden. Als dit is wat je ziet, zet servermodus aan en deploy opnieuw voordat je iets anders verandert.
Node.js Versie
Stel Node.js version in Settings onder Build settings in. Voer alleen het major versienummer in: 18, 20 of 22. Laat het leeg om de standaardplatformversie te gebruiken.
De versie is van toepassing op zowel de build als, wanneer servermodus aan staat, de runtime.
Pin de versie expliciet in plaats van te vertrouwen op de standaard. Een afhankelijkheid die een nieuwere Node vereist dan de standaard, mislukt de installatie met een fout die dat niet duidelijk zegt, en pinnen elimineert een hele klasse van "het werkte gisteren" buildfouten.
Monorepos
Stel Root directory in op de submap die de app bevat, bijvoorbeeld apps/web. Orbit gaat naar die map voordat het je install- en buildcommands uitvoert.
Het doet ook iets wat je wilt maar misschien niet verwacht: pushes die alleen bestanden buiten dat pad wijzigen, worden automatisch overgeslagen. Een monorepo met vier Orbit-projecten bouwt dus alleen de apps opnieuw die een commit daadwerkelijk heeft gewijzigd.
Elke omgeving kan de rootmap afzonderlijk overschrijven, onder Staging: build overrides in Settings, wat handig is wanneer staging een ander werkgebied bouwt.
Aangepaste Buildinstellingen
Overschrijf alles in Settings, onder Build settings:
| Veld | Voorbeeld | Opmerkingen |
|---|---|---|
| Install command | npm ci | Of yarn install --frozen-lockfile, pnpm install --frozen-lockfile |
| Build command | npm run build:prod | Voer exact uit zoals geschreven |
| Output directory | dist/client | De map gepubliceerd na de build |
| Root directory | apps/frontend | Monorepo submap |
| Node.js version | 20 | Alleen major versie |
Leeg betekent auto-detectie. Klik Save op de Build settings kaart om toe te passen.
Staging kan elk van deze onafhankelijk overschrijven, in de sectie Staging: build overrides. Een veld dat daar leeg is gelaten, erft de waarde op projectniveau, dus je kunt alleen de buildcommand voor staging wijzigen en alles anders ongewijzigd laten.
Build Cache
Orbit slaat node_modules tussen builds in cache op de Liftoff en Apex plannen. Wanneer de cache wordt gebruikt, toont de deployment een Cache hit badge en is de installatiefase veel korter. Een build zonder toont Cold build.
Als je een volledige herinstallatie wilt forceren, open je Settings, vervolgens Clear build cache, en bevestig. De volgende deployment voor elke omgeving voert een volledige installatie vanaf nul uit. Dit kan niet ongedaan worden gemaakt, en de build daarna zal langzaam zijn.
Build Machine Resources
De buildmachinegrootte hangt af van je plan, wat belangrijk is voor grote builds:
| Plan | vCPU | RAM | Disk | Time limit |
|---|---|---|---|---|
| Launch | 1 | 1 GB | 4 GB | 30 minuten |
| Liftoff | 2 | 2 GB | 8 GB | 30 minuten |
| Apex | 4 | 4 GB | 16 GB | 30 minuten |
Een build die onvoldoende geheugen heeft of zijn schijf volmaakt, mislukt met die foutkategorie genoemd op de deploymentpagina. NODE_OPTIONS=--max-old-space-size verhogen helpt alleen tot het werkelijke RAM van de machine.
Beginnen Met een Sjabloon
Als je een werkende deployment wilt hebben voordat je een repository hebt, gebruik je een startersjabloon. Schakel op New project van Import Git Repo naar Start from Template en kies er een: Next.js met shadcn/ui, een Astro marketingsite, de Remix Indie Stack, een SvelteKit starter, een minimale Nuxt 3 app of een Express REST API. Orbit kopieert het sjabloon, past de juiste buildinstellingen toe en deployt het.
Gerelateerde Lectuur
- Je Build Command en Output Directory Configureren voor de per-framework details en de gebruikelijke fouten
- Failed Builds Oplossen
- Orbit Plan Limits