【发布时间】:2019-08-27 11:40:17
【问题描述】:
我正在学习 API 基础教程,每当我运行我的项目时,我都会收到错误 Error: Route.post() requires a callback function but got a [object Undefined]
这是我的路线文件
module.exports = function (app) {
var todoList = require('../controllers/todoListController');
app.route('/tasks')
.get(todoList.list_all_tasks)
.post(todoList.create_a_task);
app.route('/task/:taskId')
.get(todoList.read_a_task)
.put(todoList.update_a_task)
.delete(todoList.delete_a_task);
};
这是我的server.js 文件
var express = require('express'),
app = express(),
port = process.env.PORT || 3000,
mongoose = require('mongoose'),
Task = require('./api/models/todoListModel'), //created model loading here
bodyParser = require('body-parser');
// mongoose instance connection url connection
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/Tododb');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var routes = require('./api/routes/todoListRoutes'); //importing route
routes(app); //register the route
app.listen(port);
console.log('todo list RESTfaul API server started on: ' + port);
即使我尝试将回调函数传递给post 方法,但它仍然无法编译
【问题讨论】:
-
该错误似乎表明您的
todoList.create_a_task指针无法解析为有效函数。你能用你的控制器代码更新你的问题吗?