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

443
Vistas
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?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

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.

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