Router.use() 需要回调函数,但得到了一个 [object Object]

Router.use() requires callback functions but got a [object Object]

我正在学习这个教程:https://youtu.be/6Sbau-oE37w?t=5771 (1:36:00)。

我想这个人的路由适用于旧版本的 Express,但我收到以下错误:

Error: Router.use() requires callback functions but got a [object Object]

我在这里调查过类似的问题,但我无法理解解决方案。我已经尝试了一些答案,到目前为止没有运气。

我的代码(src/server/routes.js):

var usersRoutes = require('./users/routes');

module.exports = function routes(app) {
    app.use('/users', usersRoutes);
};

和(src/server/users/routes.js):

var mongoose = require('mongoose');
var User = require('./../db/db').User;
var express = require ('express');
var router = express.Router();

router.get('/', function(req, res) {
    res.send('Hello, its a test');
});

我在 require 行中使用了绝对路径,否则我会遇到错误。路径很好,但我缺少回调函数 - 但我仍然看不出它应该是什么样子。

您需要像这样导出路由器对象:

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

router.get('/', (req, res) => {
    res.send('Hello, its a test')
});

module.exports = router