为啥我得到 TypeError('Router.use()

Posted

技术标签:

【中文标题】为啥我得到 TypeError(\'Router.use()【英文标题】:Why I get TypeError('Router.use()为什么我得到 TypeError('Router.use() 【发布时间】:2020-09-18 00:53:21 【问题描述】:

我有这样的 index.js 文件,并且

const express = require('express');
const app = express();

//Import Routes
const authRoute = require('./routes/auth');

//Route Middlewares
app.use('/api/user', authRoute);

app.listen(3000, () => console.log('Server Up and running'));

auth.js 喜欢这个

const router = require('express').Router();

router.post('/register', (req, res) => 
    res.send('Register');
)
module.exports = router;

为什么我得到 TypeError('Router.use() 需要一个中间件函数但得到一个 ' + gettype(fn)) ^

TypeError: Router.use() 需要一个中间件函数但得到一个对象 在 Function.use (C:\Users\xxx\Desktop\Websites\Authentication\node_modules\express\lib\router\index.js:458:13) 在功能。 (C:\Users\xxx\Desktop\Websites\Authentication\node_modules\express\lib\application.js:220:21)

【问题讨论】:

TypeError: Router.use() requires middleware function but got a Object ? 有时我在重写路由处理程序时遇到此错误。我只是重新启动应用程序,它再次工作 重启没有帮助 【参考方案1】:

您可以尝试以以下格式重新编写您的 auth.js,我认为这将解决问题:

router.route('/register').post((req, res) =>   .............

【讨论】:

以上是关于为啥我得到 TypeError('Router.use()的主要内容,如果未能解决你的问题,请参考以下文章

我得到一个“TypeError:'int'对象没有属性'_getitem',我不知道为啥

为啥我得到 Typeerror 超级表达式必须为 null 或函数?

为啥我得到一个 TypeError: PySide2.QtCore.QStringListModel.setData(): no enough arguments

我明白为啥我得到: TypeError: getsockaddrarg: AF_INET address must be tuple, not str

为啥使用默认的 React Google Maps 得到“TypeError:无法将类调用为函数”?

为啥我收到 TypeError: Failed to fetch?