Zum Hauptinhalt springen

Statische Seiten

Für Webseiten mit statischen Inhalten kann Deploio durch eine Kombination von Buildpacks einen Webserver zur Verfügung stellen, um die statischen Inhalte auszuliefern.

note

Wenn du den Heroku-Buildpack-Stack mit nctl verwendest, muss beim Erstellen oder Aktualisieren der Applikation explizit --language=static gesetzt werden, da die automatische Erkennung von statischen Seiten nur im Paketo-Stack und nicht im Standard-Heroku-Stack verfügbar ist.

Statische Inhalte werden durch folgende Dateien im Git Repository erkannt:

  • index.html
  • public/index.html

Beispiel-Apps

Wir haben zwei statische Seiten in unserem Beispiele-Repository. Du kannst diese mit nctl deployen:

Einfaches index.html:

nctl create application static-html \
--language=static \
--git-url=https://github.com/ninech/deploio-examples \
--git-sub-path=heroku-stack/static/html

React App mit npm:

nctl create application static-react \
--language=static \
--git-url=https://github.com/ninech/deploio-examples \
--git-sub-path=heroku-stack/static/react

Paketo-Stack-Konfiguration

Um die automatisch detektierten Pfade zu überschreiben, kann die Build- Umgebungsvariable BP_STATIC_WEBROOT=<Verzeichnis> auf ein beliebiges Verzeichnis im Git Repository gesetzt werden.

Heroku-Stack-Konfiguration

Beim Heroku-Stack wird der Webserver über eine project.toml-Datei im Root des Repositories konfiguriert, anstatt über Build-Umgebungsvariablen. Das standardmässige Dokumenten-Root-Verzeichnis ist public.

Um das Dokumenten-Root-Verzeichnis oder die Index-Datei zu ändern, füge Folgendes zu deiner project.toml hinzu:

[com.heroku.static-web-server]
root = "dist"
index = "index.html"

Das Buildpack unterstützt weitere Optionen wie benutzerdefinierte Antwort-Header, Fehlerseiten, Weiterleitungen und saubere URLs – alles konfigurierbar über project.toml. Die vollständige Referenz finden Sie in der Dokumentation des Heroku Static Web Server Buildpacks.

NPM Frontend

Sofern die statische Seite zusätzlich Node-Module beinhaltet, wird Deploio dies anhand der package.json Datei erkennen und während dem Build Prozess mit npm installieren. Die resultierenden Artefakte landen dann im build- Verzeichnis und der Webserver wird automatisch dieses Verzeichnis verwenden, um die statischen Inhalte auszuliefern.