如何修复“ TypeError:Router.use()需要中间件功能但有一个对象”

时间:2019-06-23 19:34:48

标签: node.js express

快速路由应用出现错误

time_point
  

TypeError:Router.use()需要一个中间件功能,但具有对象对象

2 个答案:

答案 0 :(得分:1)

如果没有// module.exports =路由器,则会发生此错误; //

如果错误仍然存​​在,则可能是您尚未设置的中间件在此路由之前执行。

答案 1 :(得分:0)

像这样从第一个文件导出路由器。

const express = require("express");
const router = express.Router();
router.get("/", async (req, res) => {
  const result = await Post.find();
  res.status(200).json({
    message: "Some Data",
  });
});
module.exports = router;

然后像这样导入其他根文件并使用

const express = require("express");
const app = express();
const todo = require("./routes/todo/todo");
app.use("/todo", todo);
  

供参考Complete Nodejs Routing App