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

143
Views
Problema con el enrutamiento estático en Node.js usando express

Tengo un problema con un código de enrutamiento personalizado, todo funciona bien y está sincronizado con el enrutamiento de vista del lado del cliente que hago, pero tan pronto como tengo una subpágina, no enruta mis archivos estáticos correctamente.

 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.

En lugar de darme un archivo del directorio raíz, lo servirá como si fuera de la subcarpeta.

Ejemplo: voy a http://localhost/sign-up, y los archivos que se cargan en mi archivo de índice desde /scripts están cargados, pero si voy a http://localhost/sign-up/2, intentará cargar el script desde /registrarse/scripts

 const express = require('express'); const path = require('path'); const app = express(); app.use('/views', express.static(path.resolve(__dirname, 'frontend', 'views'))); app.use('/styles', express.static(path.resolve(__dirname, 'frontend', 'styles'))); app.use('/scripts', express.static(path.resolve(__dirname, 'frontend', 'scripts'))); app.use('/media', express.static(path.resolve(__dirname, 'frontend', 'media'))); app.get('/*', (req, res) => { res.sendFile(path.resolve(__dirname, 'frontend', 'newSite.html')); }); app.listen(process.env.PORT || 1234, () => console.log('Server is now running...'));

Para manejar esto, he estado siguiendo estos tutoriales de DCODE en youtube, pero no veo nada malo:

https://www.youtube.com/watch?v=6BozpmSjk-Y

https://youtu.be/OstALBk-jTc

about 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Los recursos cargados en la carpeta de registro deben usar direcciones URL que comiencen con un carácter ' / ', para hacerlos relativos a la raíz del sitio, por ejemplo

 src="/scripts/modulefile.js" href="/css/stylesheet.css" href="/media/image.png"

y no direcciones URL relativas a la carpeta de registro, que serán si se omite el '/' inicial.

about 4 years ago · Santiago Trujillo Report

0

No necesita múltiples rutas para servir sus contenidos estáticos, y el método static de express hace este tipo de tareas por usted:

 // If your 'public' or 'static' directory is one of root directories app.use(express.static(process.cwd() + '/public')); // so all these requests will be served: // -> /public/styles/custom.css // -> /public/scripts/pollyfils.js // -> /public/media/logo.png
about 4 years ago · Santiago Trujillo 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!