elide dev und elide serve stellen ein Verzeichnis mit Dateien bereit oder führen ein Server-Skript aus.
elide dev ./public
elide serve ./dist| Befehl | Standardadresse | Neuladen bei Dateiänderungen |
|---|---|---|
elide dev | 127.0.0.1:3000 | HTML-Seiten, wenn ein Verzeichnis bereitgestellt wird |
elide serve | 127.0.0.1:8080 | Nein |
Ein Verzeichnis startet einen Dateiserver; ein Skript läuft als Programm und wird nicht neu geladen.
~/demo elide dev site --no-tui --port 43765 &
Dev server for directory: "site"
Dev server: site at http://127.0.0.1:43765
~/demo curl -s http://127.0.0.1:43765 | head -2
GET / 200 (164us)
<!doctype html>
<h1>Hello, Ada!</h1>
~/demo sed -i.bak 's/Ada/Grace/' site/index.html
[watch] Create /home/demo/demo/site/sedsHkWQG
~/demo curl -s http://127.0.0.1:43765 | head -2
GET / 200 (112us)
<!doctype html>
<h1>Hello, Grace!</h1>
| Flag | Wirkung |
|---|---|
--host HOST | Host, an den gebunden wird. |
--port PORT | Port, an den gebunden wird. |
--no-tui | Schlichte Log-Ausgabe statt der TUI. |
--no-watch | Nur dev: keine Überwachung und kein Neuladen. |
--contexts=N | Führt N Kopien der Anwendung aus; auto bemisst die Anzahl nach den CPU-Kernen. Nur unter Linux. |
Ein Verzeichnis bereitstellen
| Anfrage | Antwort |
|---|---|
/, /docs, /docs/ | Die index.html des Verzeichnisses |
Ein Verzeichnis ohne index.html | 404; Verzeichnislisten gibt es nicht |
/about, wenn nur about.html existiert | 404; verlinken Sie auf about.html |
Eine Punktdatei wie /.env | 404. /.well-known/ wird bereitgestellt. |
Ein symbolischer Link, der aus dem Verzeichnis herauszeigt, oder .. im Pfad | 404 |
POST und andere Methoden | 405 von elide serve; elide dev antwortet wie auf GET |
Content-Typeergibt sich aus der Dateiendung:text/html; charset=utf-8,text/css,text/javascript,application/json,application/wasm,image/pngusw.- Dateien werden vollständig und unkomprimiert gesendet, ohne
ETag,Last-ModifiedoderCache-Control;Range- und bedingte Anfragen erhalten ein vollständiges200. Für Caching und Komprimierung schalten Sie ein CDN oder einen Reverse Proxy davor. elide devfü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.mjselide 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.