Hoy la mayoría de apps de React se compilan con Vite en una carpeta de archivos estáticos: un index.html y el JavaScript que dibuja cada página. Lobsite aloja esa carpeta. Ejecuta npm run build, luego npx lobsite, y la app estará publicada en una dirección *.lobsite.app con HTTPS. Los enlaces profundos de React Router funcionan en cuanto activas el modo de una sola página.
Cómo funciona
- Compila la app con
npm run build. Un proyecto de Vite escribedist/; un proyecto antiguo de Create React App escribebuild/. - Ejecuta
npx lobsiteen el proyecto. Encuentra la carpeta del build y la despliega. El primer deploy no necesita cuenta y dura 6 horas. - Activa el modo de una sola página para React Router:
spa = trueenlobsite.tomlo Aplicación de una sola página en los ajustes del sitio. Conserva el sitio con el enlace para reclamarlo, en una cuenta gratuita.
React Router y enlaces profundos
Con createBrowserRouter o <BrowserRouter>, las direcciones son como /orders/42. Hacer clic en un enlace funciona en cualquier parte, porque React Router cambia la página en el navegador. Abrir esa dirección directamente, o recargarla, pide /orders/42 al servidor, y eso no es un archivo. El modo de una sola página responde con tu index.html y React Router dibuja la página correcta.
<HashRouter>(direcciones como/#/orders/42) funciona sin el modo de una sola página, porque el servidor solo ve/. Las rutas de navegador quedan mejor y son las que esperan los buscadores.- El modo framework de React Router con
ssr: falsetambién genera una app de una sola página. Conprerender, las páginas indicadas se escriben como archivos HTML propios y el modo de una sola página cubre el resto. - TanStack Router y wouter funcionan igual que React Router.
El deploy muestra un consejo cuando encuentra un router en package.json y el modo de una sola página está desactivado.
Si vienes de Create React App
El equipo de React dejó obsoleto Create React App en febrero de 2025 y recomienda un framework o Vite para apps nuevas. Un proyecto CRA sigue desplegándose: npx lobsite encuentra build/ y se salta public/, que CRA copia al build. Pasar a Vite cambia algunas cosas del lado del hosting:
- la carpeta del build pasa a ser
dist/, que se encuentra igual; - las variables de entorno
REACT_APP_pasan a serVITE_, leídas conimport.meta.env; index.htmlpasa depublic/a la carpeta raíz del proyecto.
Si la app necesita renderizado en servidor, mira Next.js con export estático, o un hosting que ejecute React en un servidor.
spa = true en lobsite.toml o un interruptor en el panel: los enlaces profundos abren tu app y los archivos que faltan siguen dando 404.
Los archivos se guardan por su hash. Volver a desplegar un sitio sin cambios sube 0 bytes.
Previsualiza antes de publicar. Vuelve atrás con un clic, redirecciones incluidas.
Cada sitio recibe una dirección *.lobsite.app con HTTPS desde el primer deploy.
Apunta un formulario a /_lobsite/forms/contact. Filtro de spam incluido.
Un deploy sin cuenta está publicado 6 horas. El enlace para reclamarlo lo conserva, gratis.
Comparativa de hostings para React
| Lobsite | Netlify | Vercel | GitHub Pages | |
|---|---|---|---|---|
| Enlaces profundos de React Router | spa = true o un interruptor en el panel |
Una regla en _redirects |
Un rewrite en vercel.json |
No: HashRouter, o 404.html servido con estado 404 |
| Archivos de script que faltan tras un deploy | 404, un error claro | El index.html de la app |
El index.html de la app |
404 |
| Renderizado en servidor | No | Sí, con un framework | Sí, con un framework | No |
| Cuenta antes del primer deploy | No: publicado 6 horas, luego consérvalo gratis | Sí | Sí | Sí, y un repositorio |
| Formularios sin backend | Sí, cuando el sitio está en una cuenta | Sí | No | No |
| Dominio propio | Sí, gratis | Sí | Sí | Sí |
Para una app de React que se ejecuta en el navegador, que es lo que compila Vite, Lobsite la despliega con un comando, sube solo los fragmentos que cambiaron y guarda una URL de vista previa para cada deploy.
Preguntas frecuentes
¿Por qué al recargar una página de React Router aparece «Not found»?
Esa dirección solo existe dentro de la app, así que el servidor no tiene un archivo para ella. Activa el modo de una sola página con spa = true en lobsite.toml o Aplicación de una sola página en los ajustes del sitio.
¿Puedo alojar aquí un proyecto de Create React App?
Sí. Ejecuta npm run build y npx lobsite; la carpeta build/ se encuentra y se despliega. Activa el modo de una sola página si usa React Router con rutas de navegador.
¿Puede un formulario de React enviar respuestas sin backend?
Sí, si el formulario está en el HTML compilado, por ejemplo en index.html, y envía a /_lobsite/forms/contact. Un formulario que solo dibuja React no se detecta al desplegar y sus respuestas se rechazan. La documentación de formularios explica cómo mantener el formulario en el HTML y enviarlo con fetch().
¿Necesito Next.js para alojar una app de React?
No. Una app de React compilada con Vite son archivos simples y funciona en cualquier hosting estático. Next.js es para renderizado en servidor o páginas prerenderizadas, y tiene su propio export estático.