为啥我得到 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