javascript - 在 NodeJS 中使用快速路由方法时出错

标签 javascript node.js express

我正在尝试以不同的方式构建我的 NodeJS API,但在尝试导入我的路由时出现以下错误:

/Users/pato/Documents/nodejs-bp-api/node_modules/express/lib/router/index.js:139 debug('dispatching %s %s', req.method, req.url); ^

TypeError: Cannot read property 'method' of undefined

express.js 文件

.
.
app.use(cors());
app.use(config.api.prefix, apiRoutes());

API 路由/index.js

const todo = require('../api/routes/todo');
const express = require('express');   
const apiRoutes = () => {
   const app = express.Router();
   todo(app);
   return app();
};

    module.exports = apiRoutes;

todo.js 路线

const todo = router => {
  router.get('/', function(req, res, next) {
    res.json({ msg: 'This is CORS-enabled for all origins!' });
  });
};

最佳答案

return app(); 应该只是 return app; (不带括号)。在处理请求时,而不是在设置过程中,express 会调用路由器作为函数。

关于javascript - 在 NodeJS 中使用快速路由方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58070660/

相关文章:

javascript - 从 2 个不同的文件读取为二维数组 Javascript

jquery - 检测是否使用 Node.js 进行 ajax 调用(刷新页面而不重新加载)

javascript - 我如何使用外部 routes.js 以便我不必在 app.js 中定义我的路线?

javascript - 无法在 Angular js中获取该值

javascript - 在 React Component 中多次解构 Props?

javascript - 使用 PsExec 生成子进程会导致标准输出被 chop

node.js - ExpressJS + EJS : Avoid "variable is not defined" globally

javascript - 访问通过设置innerHTML创建的HTML元素

javascript - Typescript - 当存在另一个属性时,使可选属性成为必需

node.js - 从 then 函数内访问 Promise 对象