Node.js TypeError:app.route不是一个函数

Node.js TypeError:app.route不是一个函数,node.js,Node.js,我是React/Express/Node world的新手,我正在研究一个允许用户创建登录和创建任务的API的应用程序 我试图在同一个应用程序中将两者放在一起,但当我调用GET获取任务列表时,出现以下错误: TypeError: app.route is not a function at module.exports (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/server/

我是React/Express/Node world的新手,我正在研究一个允许用户创建登录和创建任务的API的应用程序

我试图在同一个应用程序中将两者放在一起,但当我调用GET获取任务列表时,出现以下错误:

TypeError: app.route is not a function
    at module.exports (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/server/routes/schedule.js:6:7)
    at Layer.handle [as handle_request] (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:317:13)
    at /home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:335:12)
    at next (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:275:10)
    at initialize (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/passport/lib/middleware/initialize.js:53:5)
    at Layer.handle [as handle_request] (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:317:13)
    at /home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:335:12)
    at next (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:275:10)
    at urlencodedParser (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/body-parser/lib/types/urlencoded.js:91:7)
    at Layer.handle [as handle_request] (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:317:13)
    at /home/slauriano/workspace/authentication-in-react-apps/part-2-json-web-token/node_modules/express/lib/router/index.js:284:7
这是路由文件夹中todoList.js的代码片段:

'use strict';
module.exports = function(app) {
var todoList = require('../controllers/todoListController');

// todoList Routes
app.route('/tasks')
    .get(todoList.list_all_tasks)
    .post(todoList.create_a_task);


app.route('/tasks/:taskId')
    .get(todoList.read_a_task)
    .put(todoList.update_a_task)
    .delete(todoList.delete_a_task);
};
const express = require('express');


const router = new express.Router();

router.get('/dashboard', (req, res) => {
  res.status(200).json({
    message: "You're authorized to see this secret message."
  });
});


module.exports = router;
我还错过了什么?这是在同一路由文件夹中正常工作的身份验证应用程序部分的片段:

'use strict';
module.exports = function(app) {
var todoList = require('../controllers/todoListController');

// todoList Routes
app.route('/tasks')
    .get(todoList.list_all_tasks)
    .post(todoList.create_a_task);


app.route('/tasks/:taskId')
    .get(todoList.read_a_task)
    .put(todoList.update_a_task)
    .delete(todoList.delete_a_task);
};
const express = require('express');


const router = new express.Router();

router.get('/dashboard', (req, res) => {
  res.status(200).json({
    message: "You're authorized to see this secret message."
  });
});


module.exports = router;
对此,我将不胜感激;)

那是我的存储库。请随时克隆并帮助解决此问题

Tks


Sergio

是否使用app参数调用todoList.js?当使用另一个文件作为路由文件时,我通常会这样做:

var express = require('express');
var app = express();
var routes = require('<path to file>/todoList.js');
routes(app);
var express=require('express');
var-app=express();
var routes=require('/todoList.js');
路线(app);

这样,您就可以将应用程序传递到处理路由的文件。希望这有帮助。

您是否使用app参数调用todoList.js?当使用另一个文件作为路由文件时,我通常会这样做:

var express = require('express');
var app = express();
var routes = require('<path to file>/todoList.js');
routes(app);
var express=require('express');
var-app=express();
var routes=require('/todoList.js');
路线(app);

这样,您就可以将应用程序传递到处理路由的文件。希望这有帮助。

错误很明显。您从
scheduleRoutes
导出函数,但没有将
app
传递给I如何解决此问题?错误非常清楚。您从
scheduleRoutes
导出一个函数,但是您没有将
app
传递给I如何解决此问题?