elide dev et elide serve servent un répertoire de fichiers ou exécutent un script serveur.
elide dev ./public
elide serve ./dist| Commande | Adresse par défaut | Rechargement quand un fichier change |
|---|---|---|
elide dev | 127.0.0.1:3000 | Pages HTML, quand un répertoire est servi |
elide serve | 127.0.0.1:8080 | Non |
Un répertoire démarre un serveur de fichiers ; un script s’exécute comme un programme et n’est pas rechargé.
~/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>
| Option | Effet |
|---|---|
--host HOST | Hôte d’écoute. |
--port PORT | Port d’écoute. |
--no-tui | Journaux bruts au lieu de la TUI. |
--no-watch | dev uniquement : ni surveillance ni rechargement. |
--contexts=N | Exécute N copies de l’application ; auto choisit selon le nombre de cœurs CPU. Linux uniquement. |
Servir un répertoire
| Requête | Réponse |
|---|---|
/, /docs, /docs/ | Le fichier index.html du répertoire |
Un répertoire sans index.html | 404 ; il n’y a pas de listage des répertoires |
/about quand seul about.html existe | 404 ; faites un lien vers about.html |
Un fichier caché comme /.env | 404. /.well-known/ est servi. |
Un lien symbolique qui pointe hors du répertoire, ou .. dans le chemin | 404 |
POST et les autres méthodes | 405 avec elide serve ; elide dev répond comme pour GET |
Content-Typedépend de l’extension du fichier :text/html; charset=utf-8,text/css,text/javascript,application/json,application/wasm,image/png, etc.- Les fichiers sont envoyés en entier, sans compression, sans
ETag,Last-ModifiedniCache-Control; les requêtesRangeet conditionnelles reçoivent un200complet. Placez un CDN ou un proxy inverse devant le serveur pour la mise en cache et la compression. elide devajoute un script de rechargement à chaque page HTML et la recharge quand un fichier du répertoire change.
Exécuter un gestionnaire fetch
// entrypoint.mjs
export default {
async fetch(request) {
return new Response("ok");
},
};elide serve entrypoint.mjselide run entrypoint.mjs sert aussi, sur les hostname et port exportés ou sur 127.0.0.1:8080.
Elide.serve({ port: 3005, fetch }) utilise sa propre adresse avec toutes les commandes.
Servir avec plusieurs contextes
elide serve --contexts=4 entrypoint.mjs- Chaque contexte exécute le module d’entrée une fois et garde ses propres variables globales ; un compteur de requêtes compte donc par contexte.
- Une connexion reste sur le même contexte pendant toute sa durée, requêtes keep-alive comprises.
- Si un contexte échoue, le serveur s’arrête.
Définissez engine.contexts dans elide.pkl pour un contrôle plus fin ; voir
Contextes du moteur.