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

455
Visualizações
Node.js + Express: ¿Qué necesito para servir la ruta de la carpeta específica a express.static?

Escribí el siguiente código:

 var express = require('express'); var app = express(); app.use('/', express.static(__dirname )); app.get('/', function (req, res) { res.sendFile('./dist/index.html'); }); app.listen(3000, function() { console.log("Listening on port 3000"); });

que no funciona Cuando abro el navegador y voy a "localhost: 3000", aparece el error:

la ruta debe ser absoluta o especificar la raíz para res.sendFile

Por supuesto, una vez que arreglo la línea que comienza con "app.use..." para:

 app.use('/', express.static(__dirname + "./dist"));

entonces todo funciona bien.

¿Puedes explicar por qué? ¿Qué tiene de malo dar a "express.static" una ruta de una carpeta principal de la carpeta directa del archivo enviado?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Prueba a cambiar el orden. En vez de:

 app.use('/', express.static(__dirname )); app.get('/', function (req, res) { res.sendFile('./dist/index.html'); });

Probar:

 app.get('/', function (req, res) { res.sendFile(path.join(__dirname, './dist/index.html')); }); app.use('/', express.static(__dirname)); // OR: app.use('/', express.static(path.join(__dirname, 'dist')));

Además, use path.join() para unir rutas. Primero debe solicitar la path :

 var path = require('path');

Consulte esta respuesta para obtener más información sobre el servicio de archivos estáticos y por qué es importante path.join :

  • Cómo servir una imagen usando nodejs

Ahora, su problema no se trataba de express.static sino de res.sendFile . Cuando cambió la ruta express.static a una diferente, es probable que express.static haya encontrado el archivo que deseaba enviar previamente con res.sendFile y el controlador con res.sendFile no se ejecutó en absoluto. Antes del cambio, express.static no encontraba el archivo index.html y pasaba la solicitud al siguiente controlador, que tenía una mala invocación de res.sendFile . Es por eso que apareció para resolver el problema con el error, porque ya no se llamaba al código que causaba el error.

over 4 years ago · Santiago Trujillo 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