Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

234
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!