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'tconstantes.js
const ROUTES = { 'AUTHENTICATION' : require('../routes/authentication') } export default ROUTESy 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 ObjectIntenté encontrar la causa del problema pero no pude. Gracias por adelantado
require el archivo del enrutador en constants.js , por lo tanto, module.exports funciona.
Para que export default router funcione, debe importarlo.