Curiosamente, cuando moví mi middleware frente a mis rutas, mis rutas dejaron de funcionar. No tengo ningún error, en el cliente o el servidor.
Mis llamadas fetch() aparentemente desaparecieron.
Sin embargo, cuando coloco las rutas antes de mi middleware, las rutas comienzan a funcionar nuevamente.
Estoy refactorizando el código y no tengo idea de por qué sucede esto.
// load middleware const middleware = require(__dirname +'/middleware'); app.use(middleware.session.session); ... // load routes const routes = require(__dirname + '/routes'); app.use('/articles', routes.articles); ...Las rutas y el middleware deben colocarse en el orden en que desea que coincidan con la ruta y luego se ejecuten (si coinciden con la ruta entrante). No hay una respuesta absoluta a lo que viene primero, ya que realmente depende de lo que estés tratando de hacer. Por ejemplo, colocaría app.use(express.json()) antes de cualquier ruta que quiera usar un cuerpo con formato JSON. Pero, colocaría el controlador de ruta de la página de inicio de sesión ANTES de cualquier middleware que verifique si el usuario está autenticado (para que pueda ejecutarse para usuarios que aún no están autenticados).
Si su código deja de funcionar cuando coloca el middleware primero, entonces probablemente haya algún problema con la implementación del middleware. Solo podemos ayudarlo con ese problema específico si nos muestra el código real para ese middleware. Quizás no está llamando a next() para continuar con el enrutamiento o está enviando una respuesta en el middleware o hay un error de codificación en el middleware.