Esta pregunta se actualizó el 20 de noviembre; consulte los comentarios a continuación para conocer el contexto.
Estoy creando una aplicación de varias páginas usando HTML/Javascript y Vite. Todo funciona perfectamente en los servidores de desarrollo y producción, hasta que necesito acceder a páginas que requieren que el usuario inicie sesión. Puedo navegar a la página de inicio de sesión e iniciar sesión con éxito... pero luego, cuando intento enrutar el usuario conectado a la página home.html , encuentro un problema.
Cuando agrego home.html a mi archivo de configuración, la compilación se rompe. Recibo un error que dice: [vite:build-html] EISDIR: illegal operation on a directory, read file: /Users/mickeyvershbow/Documents/coding/vite-projects/ekkobar-app/vite-web-app/pages/home/home.html error during build: Error: EISDIR: illegal operation on a directory
Parece que debe haber algún problema con la forma en que estoy especificando el punto de entrada en mi archivo de configuración, pero no sé cómo abordar esto y no puedo encontrar ninguna información al respecto en los documentos de vite . ¿Hay algún complemento que deba usar? ¿Algún software intermedio?
Estructura del archivo:
├── package.json ├── vite.config.js ├── index.html ├── main.js ├── styles.css ├── pages │ ├── login │ │ ├── login.html │ │ ├── login.js │ ├── home │ │ ├── home.html **requires user to be logged in │ │ ├── home.js │ │vite.config.js
const { resolve } = require("path"); const { defineConfig } = require("vite"); module.exports = defineConfig({ build: { rollupOptions: { input: { main: resolve(__dirname, "index.html"), login: resolve(__dirname, "pages/login/login.html"), home: resolve(__dirname, "pages/home/home.html"), }, }, }, });La estructura de carpetas que ha compartido en la pregunta muestra que sus páginas de inicio de sesión y de inicio están presentes dentro de su carpeta de páginas . Por lo tanto, deberá proporcionar una ruta válida a su vite para incluir los archivos presentes en la carpeta.
La ruta de su carpeta ahora se convierte en "pages/login/index.html" y "pages/home/index.html"
Encuentre la configuración vite actualizada a continuación.
const { resolve } = require("path"); const { defineConfig } = require("vite"); module.exports = defineConfig({ build: { rollupOptions: { input: { main: resolve(__dirname, "index.html"), login: resolve(__dirname, "pages/login/index.html"), home: resolve(__dirname, "pages/home/index.html"), }, }, }, });