我的Node.js得到了Route.post()得到了对象未定义错误

时间:2018-10-12 18:05:02

标签: javascript node.js

我通过Node.js进行了简单的模块化。

我试图通过Postman进行api测试,但我的nodemon说发生以下错误。

错误

Error: Route.post() requires a callback function but got a [object Undefined]
    at Route.

routes / router.js

const express = require('express');
const route = express.Router();
const user = require('../controller/user');

route.route('/user')
    .post(user.createUser)
    .get(user.readUser)
    .put(user.updateUser)
    .delete(user.deleteUser)

module.exports = route;

controller / user.js

exports.createUser = function (req, res) {
    res.send('user create.')
}

exports.readUser = function (req, res) {
    res.send('user read.')
}

exports.updateUser = function (req, res) {
    res.send('user update.')
}

exports.deleteUser = function (req, res) {
    res.send('user delete.')
}

server.js

const express = require('express');
const app = express();
const port = process.env.PORT || 3000;
const router = require('./routes/router');

app.use(router);

app.listen(port, err => {
    if(err) console.log(err)
    else console.log('server on');
});

我怎么了?

1 个答案:

答案 0 :(得分:2)

我建议将您当前的代码( controller / user.js )转换为:

module.exports = {

createUser: function(req, res){
    res.send('User created')
},
readUser: function (req, res) {
    res.send('Viewing user.')
},
updateUser: function (req, res) {
    res.send('User updated.')
},
deleteUser: function (req, res) {
    res.send('User deleted.')
}}

不久前我遇到了类似的问题,这为我解决了这个问题。因此,在对我的回答投反对票之前,至少应考虑自己这样做。 :)我真的希望能有所帮助。