lobsite! Iniciar sesión Registrarse

Hosting estático para SvelteKit

Aloja un sitio SvelteKit prerenderizado: compílalo con adapter-static y npx lobsite despliega build/ con HTTPS, formularios y URL de vista previa.

Con adapter-static, el build genera build/, que es lo que se despliega.
Suelta un archivo HTML, una carpeta o un .zip Se comprueba en tu navegador; no se sube nada hasta que publiques.

SvelteKit puede prerenderizar cada página en el build y escribir el resultado como archivos simples con @sveltejs/adapter-static. Lobsite aloja esos archivos. Compila con el adaptador estático, ejecuta npx lobsite, y el sitio estará publicado en una dirección *.lobsite.app con HTTPS. Esta página trata de sitios totalmente prerenderizados. Las rutas de servidor y las form actions necesitan un hosting que ejecute SvelteKit en un servidor.

Cómo funciona

  1. Cambia al adaptador estático y prerenderiza cada página (ver abajo); luego ejecuta npm run build. El sitio queda en build/.
  2. Ejecuta npx lobsite en el proyecto. Despliega build/, no static/ ni .svelte-kit/. El primer deploy no necesita cuenta y dura 6 horas.
  3. Consérvalo con el enlace para reclamarlo, en una cuenta gratuita. Después, npm run build && npx lobsite actualiza la misma dirección.

adapter-static y prerenderizado

// svelte.config.js
import adapter from "@sveltejs/adapter-static";

export default {
  kit: { adapter: adapter() },
};
// src/routes/+layout.js
export const prerender = true;
  • prerender = true en el layout raíz hace que cada página se renderice en el build. Si una página no se puede prerenderizar, el build falla y te dice cuál, así que no se despliega nada roto.
  • fallback: "200.html" es para páginas que no se pueden prerenderizar: SvelteKit escribe una carcasa 200.html y Lobsite la sirve para cualquier ruta que no sea un archivo, de modo que esas páginas se renderizan en el navegador. Las páginas prerenderizadas siguen siendo mejores para los buscadores y la primera carga.
  • trailingSlash puede quedarse en su valor por defecto: /about se escribe como about.html y se sirve en /about.

Qué se ejecuta en el build y qué no puede funcionar

Las funciones load, incluidas las de +page.server.js, se ejecutan durante el build cuando una página se prerenderiza, así que los datos de archivos o APIs quedan incrustados en el HTML. Las rutas dinámicas se encuentran siguiendo los enlaces de tus páginas; añade a prerender.entries las que no estén enlazadas. Lo que no puede funcionar sin servidor: form actions, endpoints +server.js que no sean GET prerenderizados, hooks que se ejecutan en cada petición y la lectura de cookies. Para un formulario de contacto, envíalo a /_lobsite/forms/contact en lugar de a una form action; consulta formularios.

Solo se suben los archivos modificados

Los archivos se guardan por su hash. Volver a desplegar un sitio sin cambios sube 0 bytes.

Cada deploy tiene su URL

Previsualiza antes de publicar. Vuelve atrás con un clic, redirecciones incluidas.

HTTPS en todas partes

Cada sitio recibe una dirección *.lobsite.app con HTTPS desde el primer deploy.

Formularios que simplemente funcionan

Apunta un formulario a /_lobsite/forms/contact. Filtro de spam incluido.

Configuración en un solo archivo

Las redirecciones, cabeceras y formularios están en lobsite.toml y viajan con cada deploy.

Límites que puedes leer

Todos los límites están publicados y cada error te dice qué hacer a continuación.

Comparativa de hostings para SvelteKit

Lobsite Vercel Netlify Cloudflare Pages
Sitios prerenderizados (adapter-static) Sí Sí Sí Sí
Renderizado en servidor, form actions No Sí Sí Sí
Compila en el servidor No: despliegas build/ Sí Sí Sí
Cuenta antes del primer deploy No: publicado 6 horas, luego consérvalo gratis Sí Sí Sí
Formularios sin backend Sí, cuando el sitio está en una cuenta No Sí No
Dominio propio Sí, gratis Sí Sí Sí

Si tu app renderiza páginas bajo demanda, usa un adaptador para un hosting que la ejecute. Si cada página se puede prerenderizar, como en webs de marketing, blogs y documentación, Lobsite la aloja con un comando y sube solo los archivos que cambió cada build.

Preguntas frecuentes

¿Qué adaptador de SvelteKit debo usar para Lobsite?

@sveltejs/adapter-static, con cada página prerenderizada. adapter-auto y los adaptadores de plataforma compilan para servidores y funciones, que Lobsite no ejecuta.

¿Puede funcionar aquí una SPA de SvelteKit con página de respaldo?

Sí. Configura adapter({ fallback: "200.html" }): Lobsite sirve 200.html con estado 200 para cualquier ruta que no sea un archivo, y el router de SvelteKit renderiza la página en el navegador. Las páginas prerenderizadas se siguen sirviendo tal cual.

¿Por qué falló mi build de SvelteKit con un error de prerenderizado?

Una página no pudo renderizarse en el build, a menudo porque lee url.searchParams, cookies o una form action. Mueve ese trabajo al navegador, o a una función load que solo use datos disponibles en el build.

¿Siguen funcionando las transiciones de página de SvelteKit tras prerenderizar?

Sí. Las páginas prerenderizadas cargan el cliente de SvelteKit, que se encarga de la navegación después de la primera página, así que los enlaces siguen cambiando de página sin recarga completa.

Ver también