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

137
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 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