Zum Inhalt springen

Entwicklungsserver

Stellen Sie mit elide dev oder elide serve ein Verzeichnis mit Neuladen der Seiten bereit, führen Sie einen Handler im Fetch-Stil aus und betreiben Sie einen Server über mehrere Elide-Kontexte.

Auf dieser Seite

elide dev und elide serve stellen ein Verzeichnis mit Dateien bereit oder führen ein Server-Skript aus.

elide dev ./public
elide serve ./dist
BefehlStandardadresseNeuladen bei Dateiänderungen
elide dev127.0.0.1:3000HTML-Seiten, wenn ein Verzeichnis bereitgestellt wird
elide serve127.0.0.1:8080Nein

Ein Verzeichnis startet einen Dateiserver; ein Skript läuft als Programm und wird nicht neu geladen.

0:09 / 0:09
FlagWirkung
--host HOSTHost, an den gebunden wird.
--port PORTPort, an den gebunden wird.
--no-tuiSchlichte Log-Ausgabe statt der TUI.
--no-watchNur dev: keine Überwachung und kein Neuladen.
--contexts=NFührt N Kopien der Anwendung aus; auto bemisst die Anzahl nach den CPU-Kernen. Nur unter Linux.

Ein Verzeichnis bereitstellen

AnfrageAntwort
/, /docs, /docs/Die index.html des Verzeichnisses
Ein Verzeichnis ohne index.html404; Verzeichnislisten gibt es nicht
/about, wenn nur about.html existiert404; verlinken Sie auf about.html
Eine Punktdatei wie /.env404. /.well-known/ wird bereitgestellt.
Ein symbolischer Link, der aus dem Verzeichnis herauszeigt, oder .. im Pfad404
POST und andere Methoden405 von elide serve; elide dev antwortet wie auf GET
  • Content-Type ergibt sich aus der Dateiendung: text/html; charset=utf-8, text/css, text/javascript, application/json, application/wasm, image/png usw.
  • Dateien werden vollständig und unkomprimiert gesendet, ohne ETag, Last-Modified oder Cache-Control; Range- und bedingte Anfragen erhalten ein vollständiges 200. Für Caching und Komprimierung schalten Sie ein CDN oder einen Reverse Proxy davor.
  • elide dev fügt jeder HTML-Seite ein Skript zum Neuladen hinzu und lädt sie neu, sobald sich eine Datei im Verzeichnis ändert.

Einen Fetch-Handler ausführen

// entrypoint.mjs
export default {
  async fetch(request) {
    return new Response("ok");
  },
};
elide serve entrypoint.mjs

elide run entrypoint.mjs startet ebenfalls einen Server, und zwar auf den exportierten Werten hostname und port oder auf 127.0.0.1:8080. Elide.serve({ port: 3005, fetch }) verwendet bei jedem Befehl seine eigene Adresse.

Mit mehreren Kontexten bereitstellen

elide serve --contexts=4 entrypoint.mjs
  • Jeder Kontext führt das Einstiegsmodul einmal aus und behält eigene globale Variablen; ein Anfragezähler zählt also pro Kontext.
  • Eine Verbindung bleibt während ihrer gesamten Lebensdauer auf einem Kontext, einschließlich Keep-Alive-Anfragen.
  • Fällt ein Kontext aus, stoppt der Server.

Für feinere Steuerung setzen Sie engine.contexts in elide.pkl; siehe Engine-Kontexte.

Beispiele

War diese Seite hilfreich?