首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >新的TypeError('Router.use() )需要一个中间件函数,但有一个‘+gettype(Fn)’)

新的TypeError('Router.use() )需要一个中间件函数,但有一个‘+gettype(Fn)’)
EN

Stack Overflow用户
提问于 2022-09-27 03:47:03
回答 2查看 28关注 0票数 1

我试图运行以下代码:

代码语言:javascript
运行
复制
const connectToMongo = require('./db')
const express = require('express')
connectToMongo();
const app = express()
const port = 3000
// Available Routes
app.use('/api/auth', require('./routes/auth'))
app.use('/api/notes', require('./routes/notes'))



app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

但它给了我一个错误:

代码语言:javascript
运行
复制
C:\Users\CC\Desktop\Mern course\inotebook\inotebook\Backend\node_modules\express\lib\router\index.js:469
      throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
      ^

TypeError: Router.use() requires a middleware function but got a Object
    at Function.use (C:\Users\CC\Desktop\Mern course\inotebook\inotebook\Backend\node_modules\express\lib\router\index.js:469:13)
    at Function.<anonymous> (C:\Users\CC\Desktop\Mern course\inotebook\inotebook\Backend\node_modules\express\lib\application.js:227:21)
    at Array.forEach (<anonymous>)
    at Function.use (C:\Users\CC\Desktop\Mern course\inotebook\inotebook\Backend\node_modules\express\lib\application.js:224:7)
    at Object.<anonymous> (C:\Users\CC\Desktop\Mern course\inotebook\inotebook\Backend\index.js:7:5)      
    at Module._compile (node:internal/modules/cjs/loader:1103:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
[nodemon] app crashed - waiting for file changes before starting...

我找不到问题了!我正在学习,所以请给初学者一个友好的答案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-27 03:49:03

我在auth.js中找到了一个问题的答案

票数 0
EN

Stack Overflow用户

发布于 2022-09-27 03:51:17

您应该将接受req、res和回调的函数传递给路由器。

这是一个例子。请确保./routes/auth和./routes/notes是一种中间件功能。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73862125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档