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

187
Vistas
GET rutas no llamadas en express con html

Tengo una aplicación muy simple, así que no pensé que necesitaba una plantilla de front-end completa como angular, y realmente no quería usar Jade.

 app.get('*', function(req, res) { res.sendFile(__dirname + '/public/index.html'); });

Básicamente, devuelvo un archivo html y puedo llamar a otros archivos html como

 login.html signup.html

Pero lo que me confunde es que mis rutas no se llaman. Por ejemplo, envío una solicitud GET a /login pero no hay salida "LOGIN GET"

//Editar: incluso con req, res, puedo eliminar esta función a continuación y seguir recibiendo index.html

 app.get('/login',function(req,res){ console.log("LOGIN GET") res.sendFile( path.join( __dirname, 'public', 'login.html' )); });

¿Cómo se envía login.html al cliente si no se llama a mi ruta?

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

0

Faltan los parámetros req y res para el controlador de ruta. Para archivos estáticos también puede seguir https://expressjs.com/en/starter/static-files.html

 app.get('/login',function(req, res){ console.log("LOGIN GET") res.sendFile( path.join( __dirname, 'public', 'login.html' )); });
about 4 years ago · Santiago Trujillo Denunciar

0

Debe utilizar el enrutador Express.

 var router = express.Router();

Y luego, puedes obtener

 router.get("/login",function(req,res){ console.log("LOGIN GET") res.sendFile( path.join( __dirname, 'public', 'login.html' )); });
about 4 years ago · Santiago Trujillo Denunciar

0

Supongo que primero está declarando la ruta general:

 app.get('*', function(req, res) { res.sendFile(__dirname + '/public/index.html'); }); app.get('/login',function(req,res){ console.log("LOGIN GET") res.sendFile( path.join( __dirname, 'public', 'login.html' )); });

Debido a que /login coincide con * , Express también utilizará la primera ruta para manejar las solicitudes de /login . En general, con Express primero debe declarar rutas más específicas:

 app.get('/login',function(req,res){ console.log("LOGIN GET") res.sendFile( path.join( __dirname, 'public', 'login.html' )); }); app.get('*', function(req, res) { res.sendFile(__dirname + '/public/index.html'); });

La razón por la que funcionan los otros archivos HTML es que probablemente también esté usando express.static() (pero no lo muestre).

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