【问题标题】:Api : Express : throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))Api : Express : throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
【发布时间】:2018-12-08 20:38:05
【问题描述】:

我刚刚开始使用 express 构建 api,但出现以下错误。

下面是我的代码。请帮忙。

Server.js 代码

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

const users = require('./routes/api/users');
const profile = require('./routes/api/profile');
const posts = require('./routes/api/posts');
const app = express();

//DB config

const db = require('./config/keys').mongoURI;

//connet to MongoDB

mongoose
    .connect(db)
    .then(() => console.log('MongoDB connected'))
    .catch(err => console.log(err));

app.get('/', (req, res) => res.send('Hello Ajas Bakran'));

//Use Routes

app.use('/api/users', users);
app.use('/api/profile', profile);
app.use('/api/posts', posts);

const port = process.env.PORT || 5000;

app.listen(port, () => console.log(`Server running on port ${port}`));

users.js 代码

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

router.get('/test', (req, res) => res.json({msg:'Hello Users'}));

module.exports = router;

profile.js 代码

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

router.get('/test', (req, res) => res.json({msg:'Hello profile'}));

module.exports = router;

posts.js

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

router.get('/test', (req, res) => res.json({msg:'Hello posts'}));

module.exports = router;

我在 stackoverflow 上参考了几个答案,但最常见的解决方案是在末尾添加 module.exports = router; 这一行。但是我确实已经存在该行了,但我仍然遇到相同的错误。真的不知道出了什么问题

【问题讨论】:

  • 上面的代码看起来没问题。请发布您收到的完整错误消息。
  • @AritraChakraborty 我已经添加了错误的截图..请看一下

标签: javascript node.js express server


【解决方案1】:

据我所知,我认为您需要重新编写这部分:

router.route('/')

而不是

router.get

通常这些类型的错误源自未正确导出的路由器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 2022-07-27
    • 2022-12-27
    • 2017-04-08
    相关资源
    最近更新 更多