Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

211
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda