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

时间:2018-03-24 11:51:05

标签: express ecmascript-6 mean-stack

我正在学习本教程: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行中使用绝对路径,因为否则会出现错误。路径很好,但我缺少一个回调函数 - 但我仍然看不出它应该是什么样子。

1 个答案:

答案 0 :(得分:0)

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

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

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

module.exports = router