Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

320
Views
Enrutador Express: Router.use() requiere una función de middleware pero tiene un Objeto

Sé que hay muchas preguntas en SO, pero ninguna me dio una solución.

rutas/autenticación/index.js

 import { Router } from 'express' const router = Router(); router.get('/', (_req, _res) => console.log("Works")) // module.exports = router <-- this works export default router // <-- this doesn't

constantes.js

 const ROUTES = { 'AUTHENTICATION' : require('../routes/authentication') } export default ROUTES

y usarlo en app.js como

 import express from 'express' import connectDatabase from './connectDb'; import ROUTES from './constants'; const app = express(); if (process.env.NODE_ENV !== 'production') { require('dotenv').config(); } connectDatabase() app.get('/', (_req, res) => { res.send("hello world") }) app.use('/auth', ROUTES.AUTHENTICATION) export default app;

Ahora con module.exports = router funciona pero export default router arroja un error

 TypeError: Router.use() requires a middleware function but got a Object

Intenté encontrar la causa del problema pero no pude. Gracias por adelantado

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

require el archivo del enrutador en constants.js , por lo tanto, module.exports funciona.

Para que export default router funcione, debe importarlo.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!