Raphael Hinostroza
PreguntaCual es la diferencia entre app.get y router.get?
Robinson Matias Aguilar Bascuñan
mm básicamente es lo mismo solo que app.get es mas global. y router.get es mas aislado. por eso se le dice que es como una aplicación. porque lo que hagas en el middleware afectara solo a ese modulo
cuanto tu usas app.get() lo que haces en el middlware afectara a todo en la ruta colocada. entonces después si en la misma ruta necesitas ejecutar middlware con otro bloque de código te dará problemas.
en cambio el router.get no porque es mas modular. almenos es lo que entendí yo. en todo caso te aconsejo que busques en la documentación y aparte leas otros artículos por ahí si es que quieres entender a grado atomico lo que sucede
Juan Pedraza
Así es, la diferencia radica en la modularidad de los componentes, pensar en app.get es pensar que cualquier cambio que se quiera hacer en el futuro afectará la gran parte del código, si se divide en componentes es más fácil adecuarlo, corregirlo, actualizarlo en toda la app. En términos generales tener router y app separado son buenas prácticas
Juan Manuel Patiño Valencia
son lo mismo, lo importante es como tu llamaste tu modulo de rutas en express un ejemplo seria esto
const {Router} = require('express'); const routes = Router();
en este ejemplo yo le puse a mi router de express "routes" entonces para hacer peticiones me quedaria de la siguiente manera
routes.get('/home',home) routes.post('/message', message) routes.patch('/actualizarMensaje/:id',updateMessage)
si tu le cambias en nombre a la constante que tenga el router de express entonces al llamar las rutas deberias utilizarlo debidamente
const {Router} = require('express'); const app = Router(); app.get('/home',home) app.post('/message', message) app.patch('/actualizarMensaje/:id',updateMessage)
para responder tu pregunta seria, no hay ninguna diferencia si pones app, router, x, y, etc .. solo que tienes que tener muy en claro como trabajar con tu router de express y como lo declaras,
saludos, espero que te ayude en algo