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

217
Vistas
El navegador cree que el archivo HTML es un archivo js

Estoy escribiendo un sitio web usando NodeJS y Express. Después de especificar un enlace con 2 parámetros de ruta:

 app.get('/game/:port/:player/', function(req, res) { res.sendFile(path.join(__dirname, '/game/game.html')); })

-el resultado es una página en blanco en blanco. Mirando DevTools, vi el error Uncaught SyntaxError: Unexpected token '<' game.js:1 . ¡Parece que el navegador está interpretando el archivo html como un archivo JavaScript! Creo que esto se debe a que el navegador intenta obtener los archivos js y css de /game/(portnumber)/(playernumber) en lugar de /game . Y el css aparece como el archivo HTML real:

ingrese la descripción de la imagen aquí

Sin embargo, ¡otra ruta que tengo con solo 1 parámetro de ruta funciona bien! Todavía soy relativamente nuevo en Express, por lo que realmente no entiendo cómo funciona la búsqueda de directorios.

¿Hay alguna forma de corregir este error de directorio sin especificar manualmente cada ruta en la que hay archivos HTML?

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

0

Puede utilizar el middleware express.static para especificar un directorio público al que sus clientes tengan acceso:

https://expressjs.com/en/starter/static-files.html

 app.use('/static', express.static('public')) http://localhost:3000/static/images/kitten.jpg http://localhost:3000/static/css/style.css http://localhost:3000/static/js/app.js http://localhost:3000/static/images/bg.png http://localhost:3000/static/hello.html
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto realmente no tiene nada que ver con Express. Es una resolución de URL básica.

El navegador solicitará /game/3561/2 y obtendrá un documento HTML de vuelta

Ese documento le indicará que cargue ./game.js , que se resolverá en /game/3561/game.js (ya que una URL que comienza con . significa "resolver la ruta desde el directorio actual").

Esa no es la URL de su archivo JS, por lo que obtiene un documento HTML en su lugar, donde :player es game.js .

Debe escribir la URL real en su archivo JS en el atributo src .

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