Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

238
Vistas
No se puede cargar CSS en Express View usando un enrutador

Tengo un problema en el que no puedo cargar mi CSS en una vista que se procesa desde un enrutador. El CSS se carga bien para una vista renderizada desde app.js en la raíz del directorio del proyecto

Aquí está mi estructura de directorios,

 node_modules/ public/ styles/ form.css home.css routes/ form.js product.js views/ index.ejs savoury.ejs app.js package.json

Aquí está mi app.js :

 import express from 'express'; import path from 'path'; import productRouter from './routes/product.js'; import formRouter from './routes/form.js'; import dotenv from 'dotenv'; dotenv.config(); const port = process.env.PORT || 3030; const __dirname = path.resolve(); const app = express(); app.use(express.urlencoded({ extended: true })); // access request body for POST app.use(express.json()); // process JSON in request body app.use(express.static(path.join(__dirname,'public'))); // Look up our static files app.set('view engine','ejs'); // Mount our routers app.use('/product',productRouter); app.use('/form',formRouter); app.get('/',(req,res) => { res.render('index'); }) app.listen(port, () => { console.log(`Server running on port ${port}`) });

El problema surge, al menos que yo sepa, cuando trato de mostrar una vista desde un enrutador llamado formRouter que está definido en mi directorio de routes como,

 import express from 'express'; // Serve our forms from this router const formRouter = express.Router(); // Render our add savoury form from here formRouter.get('/add/savoury',(req,res) => { res.render('savoury'); });

La vista de savoury vincula la hoja de estilo de esta manera:

 <link rel="stylesheet" href="styles/form.css">

Luego recibo el siguiente error en la consola del navegador: Refused to apply style from 'http://localhost:3030/form/add/styles/form.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

No sé cuál es el problema. Cualquier ayuda es apreciada.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Se negó a aplicar el estilo de 'http://localhost:3030/form/add/styles/form.css' porque su tipo MIME ('text/html') no es un tipo MIME de hoja de estilo compatible y la verificación estricta de MIME está habilitada.

Entonces, si recibe ese mensaje de error, está tratando de diseñar el html usando un mensaje 404

Pero, ¿por qué recibe un error 404?

Estás recibiendo un error 404 debido a la ruta o ruta a la que llamas

si observa detenidamente, puede ver que 'http://localhost:3030/form/add/styles/form.css' es la ruta que intenta solicitar el css que no existe

Ahora en la ruta de tu archivo tienes

 public/ styles/ form.css home.css

lo que significa que el camino al que deberías estar llamando es

https://localhost:3030/estilos/formulario.css

no http://localhost:3030/form/add/styles/form.css

Entonces, para deshacerse del error, edite su html para

 <link rel="stylesheet" href="/styles/form.css">

La barra inclinada delante de los estilos significa que está llamando desde el directorio raíz.

pero omitirlo o usar ./styles significa que es de esa carpeta de ruta

Si esto responde a su pregunta, recuerde marcarla como respondida.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda