简体   繁体   English

错误:Route.get()需要回调函数,但得到了一个[object Undefined]

[英]Error: Route.get() requires callback functions but got a [object Undefined]

I'm working through a MEAN Stack book called "MEAN Web Development". 我正在研究一本名为“ MEAN Web开发”的MEAN Stack书。 It's been a great book so far, but I'm currently stuck. 到目前为止,这是一本很棒的书,但我目前仍处于困境。 I've downloaded all the code they provide so I can double check my work and it seems all my code is correct. 我已经下载了他们提供的所有代码,所以我可以仔细检查我的工作,看来我所有的代码都是正确的。 I've searched for similar errors and tried to implement versions of those errors, but nothing has worked yet. 我已经搜索了类似的错误,并尝试实现这些错误的版本,但是还没有任何工作。 According to the error these are the files that are producing the error. 根据错误,这些是产生错误的文件。

Another note, when I remove the code for the list function. 另一个说明,当我删除list函数的代码时。 Everything works fine with just the create function. 只要使用create函数,一切都可以正常工作。 But, as soon as I add in the list function again it breaks and gives me the error that Return.get() needs a callback. 但是,一旦我再次添加list函数,它就会中断,并给我以下错误:Return.get()需要回调。 but got an undefined object. 但是有一个未定义的对象。

users.server.controller users.server.controller

var User = require('mongoose').model('User');

exports.create = function(req, res, next) {
var user = new User(req.body);

user.save(function(err){
    if (err) {
        return next(err);
    } else {
        res.json(user);
    }
});
};


exports.list = function(req, res, next) {
User.find({}, function(err, users) {
    if (err) {
        return next(err);
    } else {
        res.json(users);
    }
});
};

users.server.routes users.server.routes

var users = require('../../app/controllers/users.server.controller');

module.exports = function(app) {
app.route('/users')
    .post(users.create)
    .get(users.list);
};

express.js express.js

var config = require('./config'),
express = require('express'),
morgan = require('morgan'),
compress = require('compression'),
bodyParser = require('body-parser'),
methodOverride = require('method-override'),
session = require('express-session');


module.exports = function() {
var app = express();

if (process.env.NODE_ENV === 'development') {
    app.use(morgan('dev'));
} else if (process.env.NODE_ENV === 'production') {
    app.use(compress());
}
app.use(bodyParser.urlencoded({
    extended: true
}));
app.use(bodyParser.json());
app.use(methodOverride());

app.use(session({
    saveUninitialized: true,
    resave: true,
    secret: config.sessionSecret
}));

app.set('views', './app/views');
app.set('view engine', 'ejs');

require('../app/routes/index.server.routes.js')(app);
require('../app/routes/users.server.routes.js')(app);

app.use(express.static('./public'));

return app;
}

server.js server.js

process.env.NODE_ENV = process.env.NODE_ENV || 'development';

var mongoose = require('./config/mongoose'),
    express = require('./config/express');

var db = mongoose();
var app = express();
app.listen(3000);
module.exports = app;

console.log('Server running at http://localhost:3000/');

错误信息

I'm going through the same book and got this same error. 我正在读同一本书,并遇到了同样的错误。

It seems the app is looking for the exports.signout function that is never shown that should be written in app/controllers/users.server.controller.js 看来该应用程序正在寻找应显示在app / controllers / users.server.controller.js中的从未显示的export.signout函数。

I just wrote it like this: 我只是这样写:

exports.signout = function(req, res, nest) {
};

And then it worked as expected. 然后它按预期工作。

Put your 把你的

var users = require('../../app/controllers/users.server.controller');

inside your module.exports method, like this: 在module.exports方法中,如下所示:

module.exports = function(app) {

  var users = require('../../app/controllers/users.server.controller');

  app.route('/users')
    .post(users.create)
    .get(users.list);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Node.js错误:Route.get()需要回调函数,但是得到了[object Undefined] - Node.js Error: Route.get() requires callback functions but got a [object Undefined] nodejs Route.get()需要回调函数,但得到一个[object String] - nodejs Route.get() requires callback functions but got a [object String] 节点:Route.get() 需要一个回调函数,但得到了一个 [object Undefined] - Node: Route.get() requires a callback function but got a [object Undefined] Route.get() 需要回调函数,但在修改服务器路由后得到 [object Undefined] - Route.get() requires callback functions but got a [object Undefined] after modifying server routes 错误:Route.get()需要回调函数,但得到了一个[object Undefined] NODE.JS + SQL - Error: Route.get() requires a callback function but got a [object Undefined] NODE.JS + SQL 错误连接 MongoDB:错误:Route.get() 需要一个回调函数,但得到一个 [object Undefined] - Error connection MongoDB: Error: Route.get() requires a callback function but got a [object Undefined] 错误:Route.get() 需要一个回调函数,但在 app.js 中得到一个 [object Undefined] - Error: Route.get() requires a callback function but got a [object Undefined] at app.js 节点服务器错误:Route.get() 需要回调 function 但得到了 [object Undefined] - node server Error: Route.get() requires a callback function but got a [object Undefined] “错误:Route.get() 需要回调 function 但得到 [object Undefined]” 进行多次导出时 - “Error: Route.get() requires a callback function but got a [object Undefined]” when doing multiple exporting Express 应用程序的 Route.get() 需要回调函数,但出现 [object Undefined] 错误 - Route.get() for express app requires a callback function but got a [object Undefined] error
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM