Javascript Express router:router.use()需要一个中间件函数,但得到了一个对象

Javascript Express router:router.use()需要一个中间件函数,但得到了一个对象,javascript,node.js,express,express-router,Javascript,Node.js,Express,Express Router,我知道这里面有很多问题,但没有一个能给我答案 路由/authentication/index.js import { Router } from 'express' const router = Router(); router.get('/', (_req, _res) => console.log("Works")) // module.exports = router <-- this works export d

我知道这里面有很多问题,但没有一个能给我答案

路由/authentication/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

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

export default ROUTES
并在app.js中将其用作

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;
现在使用
module.exports=router
可以工作,但是
export default router
会抛出一个错误

TypeError: Router.use() requires a middleware function but got a Object
我试图找出问题的原因,但找不到。
提前感谢您
需要
constants.js
中的路由器文件,因此
模块.exports
可以工作


要使
导出默认路由器
工作,您需要导入它。

需要
常量.js中的路由器文件
,因此
模块.exports
工作。@Vishnudev得到了它。成功了。