Router.use() 需要一个中间件函数,但在我的节点文件中有一个对象

Dan*_*ish 0 node.js

Node 新手,请解决错误 Router.use() requires a middleware function but got a Object

const bodyParser = require('body-parser');
const express = require('express');
const app = express();

var productRoutes = require('./api/routes/product');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}))

app.use('/products', productRoutes);

module.exports = app;
Run Code Online (Sandbox Code Playgroud)

api/routes/product.js

const express = require('express');
const router = express.Router();
router.get('/', (req, res, next) => { 
  res.status(200).json({message: "Here we are handling the get request for the products"});
});
Run Code Online (Sandbox Code Playgroud)

Him*_*rma 6

你改变你的api/routes/product代码。会正常工作。

const express = require('express');
const router = express.Router();
router.get('/', (req, res, next) => {
    res.status(200).json({
        message: "Here we are handling the get request for the products"
    });
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

原因是当您写入module.exports = router;它将导出的文件时,您没有将路由器导出到其他文件。