gpt4 book ai didi

javascript - Express 路由器 : Router. use() 需要一个中间件函数但得到一个对象

转载 作者:行者123 更新时间:2023-12-04 13:28:07 25 4
gpt4 key购买 nike

我知道SO中有很多问题,但没有一个给我解决方案
路由/认证/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

常量.js
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
我试图找到问题的原因,但找不到。
提前致谢

最佳答案

require constants.js 中的路由器文件,因此 module.exports作品。
对于 export default router要工作,您需要导入它。

关于javascript - Express 路由器 : Router. use() 需要一个中间件函数但得到一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66838496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com