导入快速路由导致请求 Body 未定义

Import Express Routes causes Request Body to be Undefined

我正在使用 express 构建一个 mongodb + auth0 应用程序。

我的请求在 index.js 中时保持 body,但是一旦我进入项目中的另一个 js 文件,它 returns 未定义,其中 headers 和其他请求属性保持不变。

index.js

const express = require('express')
const app = express();
const port = 8000;

var loginRoutes = require('./routes/login');

app.use(express.json());

const clientPromise = require('./mongodb-client');

app.use('/login', loginRoutes);

/routes/login.js

const express = require('express')
router = express.Router();

const clientPromise = require('../mongodb-client');

const auth0 = require('../auth0-client');

const app = express();
app.use(express.json());

const {ObjectId} = require("mongodb");

//LOGIN USER
router.post('/', async function(req, res) {
    console.log(JSON.stringify(req.body));

    var data = {
        username: req.body.username,
        password: req.body.password
      };

     auth0.passwordGrant(data, function (err, userData) {
        if (err) {
          // Handle error.
        }
      
        console.log(userData);
      });

    res.send({'login': 'yes'})
})

module.exports = router;

我假设它与 express.json() 和一些 OOO 问题有关?但我正在利用搜索引擎,无法弄清楚下一步要解决什么问题。

app.use(express.json()); 必须在 var loginRoutes = require('./routes/login'); 之前,请求正文才能解析并成功传递给子登录路由。