Statische Sites
Die Dateien bauen, dann mit einem statischen Webserver ausliefern.
Dieses Pack kompiliert keine Language-Runtime. Für JS-Frontends führt Node.jszuerst npm run build aus. Siehe Buildpacksfür die Detection-Reihenfolge.
Erkennt
static.tomlim Base directory, oder- ein bekanntes statisches JS-Framework (Vite, Astro ohne Server-Adapter, Angular, Gatsby und ähnlich), oder
package.jsonmit einembuild-Skript und ohne Server-Entrypoint (server.js,index.js, …)
Next.js, Nuxt und andere SSR-Frameworks bleiben beim Node-Pack und werden nicht als statische Dateien ausgeliefert, außer Next ist auf output: 'export' gesetzt.
Output-Verzeichnis
In dieser Reihenfolge aufgelöst:
output-dirinstatic.toml- der Framework-Default (
dist,out,build,public,_site, Angulars verschachteltesdist/…/browser) - der erste dieser Ordner, der
index.htmlenthält
output-dir = "dist"
fallback = "index.html" fallback ist der SPA-Rewrite. Lässt du ihn weg und index.html existiert, nimmt Nodion das.
Start-Command
static-web-server auf 0.0.0.0:$PORT (8080 wenn PORT fehlt), mit Kompression. Mit einer Procfile überschreiben, wenn nötig.