Al ejecutar el comando npm run preview, la consola levanta el servidor correctamente en http://localhost:4173/, pero el navegador muestra una pantalla en blanco con el error:
GET http://localhost:4173/ net::ERR_HTTP_RESPONSE_CODE_FAILURE 404 (Not Found)
Este no es un error de tu código, sino un comportamiento completamente esperado basado en cómo configuraste la arquitectura de mita-dom.
Vite tiene dos formas de compilar (build):
- Modo App (SPA): Compila el código, inyecta los scripts en un
index.htmly copia todo a la carpetadist/. - Modo Librería (
build.lib): Lo que nosotros usamos. Vite ignora por completo elindex.htmly solo empaqueta el JavaScript endist/mita-dom.jspara que pueda ser subido a NPM.
¿Qué hace vite preview?
El comando preview está diseñado para servir los archivos estáticos de la carpeta dist/. Como Vite compiló mita-dom en Modo Librería, no existe ningún index.html en la carpeta dist/. Al entrar al localhost, el servidor de Vite no encuentra un archivo HTML para mostrar, devolviendo el famoso 404 Not Found.
Dado que mita-dom es una librería y no una página web estática, el comando npm run preview (tal como viene en Vite por defecto) no debe usarse en este repositorio.
-
Para desarrollar y ver el Playground (index.html de la raíz): Utiliza siempre:
npm run dev
Esto levanta el servidor de desarrollo, que sí sirve el
index.htmlraíz y compila los archivos al vuelo. -
Para probar la versión "Production" compilada (el
dist/): Usa la carpeta de demostración que creamos (examples/demo-ts). Esa carpeta sí está configurada como una "Aplicación" (Modo SPA) y consume tu versión local compilada.cd examples/demo-ts npm run build npm run previewAhí sí funcionará el preview perfectamente, porque
demo-tses una aplicación cliente, no una librería.
Si lo deseas, puedes eliminar el script "preview": "vite preview" de tu package.json principal para evitar confusiones a futuros contribuidores, ya que una librería de NPM no se "previsualiza" de esta forma, se instala en otro proyecto.