Aller au contenu

Serveur de développement

Servez un répertoire avec rechargement des pages grâce à elide dev ou elide serve, exécutez un gestionnaire de style Fetch et exécutez un serveur sur plusieurs contextes Elide.

Sur cette page

elide dev et elide serve servent un répertoire de fichiers ou exécutent un script serveur.

elide dev ./public
elide serve ./dist
CommandeAdresse par défautRechargement quand un fichier change
elide dev127.0.0.1:3000Pages HTML, quand un répertoire est servi
elide serve127.0.0.1:8080Non

Un répertoire démarre un serveur de fichiers ; un script s’exécute comme un programme et n’est pas rechargé.

0:09 / 0:09
OptionEffet
--host HOSTHôte d’écoute.
--port PORTPort d’écoute.
--no-tuiJournaux bruts au lieu de la TUI.
--no-watchdev uniquement : ni surveillance ni rechargement.
--contexts=NExécute N copies de l’application ; auto choisit selon le nombre de cœurs CPU. Linux uniquement.

Servir un répertoire

RequêteRéponse
/, /docs, /docs/Le fichier index.html du répertoire
Un répertoire sans index.html404 ; il n’y a pas de listage des répertoires
/about quand seul about.html existe404 ; faites un lien vers about.html
Un fichier caché comme /.env404. /.well-known/ est servi.
Un lien symbolique qui pointe hors du répertoire, ou .. dans le chemin404
POST et les autres méthodes405 avec elide serve ; elide dev répond comme pour GET
  • Content-Type dé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-Modified ni Cache-Control ; les requêtes Range et conditionnelles reçoivent un 200 complet. Placez un CDN ou un proxy inverse devant le serveur pour la mise en cache et la compression.
  • elide dev ajoute 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.mjs

elide 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.

Exemples

Cette page vous a-t-elle aidé ?