Statische Dateien
Statische Dateien
Abschnitt betitelt „Statische Dateien“Stellen Sie statische Dateien aus jedem Dateisystem mit http.static bereit. Statische Handler mounten direkt auf dem Server und können SPAs, Assets oder Benutzer-Uploads aus jedem Pfad bereitstellen.
Konfiguration
Abschnitt betitelt „Konfiguration“- name: static kind: http.static meta: server: gateway path: / fs: app:public directory: dist static_options: spa: true index: index.html cache: "public, max-age=3600"| Feld | Typ | Beschreibung |
|---|---|---|
meta.server | Registry-ID | Übergeordneter HTTP-Server |
path | string | URL-Mount-Pfad (muss mit / beginnen) |
fs | Registry-ID | Dateisystem-Eintrag zum Bereitstellen |
directory | string | Unterverzeichnis innerhalb des Dateisystems |
static_options.spa | bool | SPA-Modus - Index für nicht gematchte Pfade bereitstellen |
static_options.index | string | Index-Datei (erforderlich wenn spa=true) |
static_options.cache | string | Cache-Control-Header-Wert |
middleware | []string | Middleware-Kette |
options | map | Middleware-Optionen (Punkt-Notation) |
/static und eine SPA auf /.
Dateisystem-Integration
Abschnitt betitelt „Dateisystem-Integration“Statische Dateien werden aus Dateisystem-Einträgen bereitgestellt. Jeder Dateisystemtyp funktioniert:
entries: # Lokales Verzeichnis - name: public kind: fs.directory directory: ./public
# Statischer Handler - name: static kind: http.static meta: server: gateway path: /static fs: publicAnfrage /static/css/style.css stellt ./public/css/style.css bereit.
Das directory-Feld wählt ein Unterverzeichnis innerhalb des Dateisystems aus:
- name: docs kind: http.static meta: server: gateway path: /docs fs: app:content directory: documentation/htmlSPA-Modus
Abschnitt betitelt „SPA-Modus“Single Page Applications benötigen, dass alle Routen dieselbe Index-Datei für clientseitiges Routing bereitstellen:
- name: spa kind: http.static meta: server: gateway path: / fs: app:frontend static_options: spa: true index: index.html| Anfrage | Response |
|---|---|
/app.js | Stellt app.js bereit (Datei existiert) |
/users/123 | Stellt index.html bereit (SPA-Fallback) |
/api/data | Stellt index.html bereit (SPA-Fallback) |
spa: true, ist die index-Datei erforderlich. Existierende Dateien werden direkt bereitgestellt; alle anderen Pfade geben die Index-Datei zurück.
Cache-Control
Abschnitt betitelt „Cache-Control“Setzen Sie angemessenes Caching für verschiedene Asset-Typen:
entries: - name: app_fs kind: fs.directory directory: ./dist
# Versionierte Assets - für immer cachen - name: assets kind: http.static meta: server: gateway path: /assets fs: app_fs directory: assets static_options: cache: "public, max-age=31536000, immutable"
# HTML - kurzer Cache, muss revalidiert werden - name: app kind: http.static meta: server: gateway path: / fs: app_fs static_options: spa: true index: index.html cache: "public, max-age=0, must-revalidate"Gängige Cache-Muster:
- Versionierte Assets:
public, max-age=31536000, immutable - HTML/Index:
public, max-age=0, must-revalidate - Benutzer-Uploads:
private, max-age=3600
Middleware
Abschnitt betitelt „Middleware“Wenden Sie Middleware für Komprimierung, CORS oder andere Verarbeitung an:
- name: static kind: http.static meta: server: gateway path: / fs: app:public middleware: - compress - cors options: compress.level: "best" cors.allow.origins: "*"Middleware umhüllt den statischen Handler in Reihenfolge - Anfragen durchlaufen jede Middleware bevor sie den Datei-Server erreichen.
/ fängt alle nicht gematchten Anfragen ab. Verwenden Sie Router für API-Endpunkte um Konflikte zu vermeiden.
Siehe auch
Abschnitt betitelt „Siehe auch“- Server - HTTP-Server-Konfiguration
- Routing - Router und Endpunkte
- Dateisystem - Dateisystem-Modul
- Middleware - Verfügbare Middleware