Saltar al contenido

Servidor de desarrollo

Sirva un directorio con recarga de páginas mediante elide dev o elide serve, ejecute un manejador al estilo Fetch y ejecute un servidor en varios contextos de Elide.

En esta página

elide dev y elide serve sirven un directorio de archivos o ejecutan un script de servidor.

elide dev ./public
elide serve ./dist
ComandoDirección predeterminadaRecarga al cambiar un archivo
elide dev127.0.0.1:3000Páginas HTML, al servir un directorio
elide serve127.0.0.1:8080No

Un directorio inicia un servidor de archivos; un script se ejecuta como programa y no se recarga.

0:09 / 0:09
OpciónEfecto
--host HOSTHost en el que escuchar.
--port PORTPuerto en el que escuchar.
--no-tuiSalida de registro simple en lugar de la TUI.
--no-watchSolo dev: sin vigilancia de archivos ni recarga.
--contexts=NEjecuta N copias de la aplicación; auto las calcula a partir de los núcleos de la CPU. Solo en Linux.

Servir un directorio

PeticiónRespuesta
/, /docs, /docs/El index.html del directorio
Un directorio sin index.html404; no hay listados de directorios
/about cuando solo existe about.html404; enlace a about.html
Un archivo oculto como /.env404. /.well-known/ sí se sirve.
Un enlace simbólico que apunta fuera del directorio, o .. en la ruta404
POST y otros métodos405 desde elide serve; elide dev responde como a GET
  • Content-Type se deduce de la extensión del archivo: text/html; charset=utf-8, text/css, text/javascript, application/json, application/wasm, image/png, etc.
  • Los archivos se envían completos, sin comprimir y sin ETag, Last-Modified ni Cache-Control; las peticiones Range y condicionales reciben un 200 completo. Ponga delante una CDN o un proxy inverso para la caché y la compresión.
  • elide dev añade un script de recarga a cada página HTML y la recarga cuando cambia cualquier archivo del directorio.

Ejecutar un manejador fetch

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

elide run entrypoint.mjs también sirve, en el hostname y el port exportados o en 127.0.0.1:8080. Elide.serve({ port: 3005, fetch }) usa su propia dirección con cualquier comando.

Servir con varios contextos

elide serve --contexts=4 entrypoint.mjs
  • Cada contexto ejecuta el módulo de entrada una vez y mantiene sus propias variables globales, así que un contador de peticiones cuenta por contexto.
  • Una conexión permanece en un mismo contexto durante toda su vida, incluidas las peticiones keep-alive.
  • Si un contexto falla, el servidor se detiene.

Defina engine.contexts en elide.pkl para un control más fino; consulte Contextos del motor.

Ejemplos

¿Te resultó útil esta página?