正文解析器不适用于 express

body-parser doesn't function for express

所以,我在使用 app.use(bodyParser.urlencoded({extended:true})) 时遇到了“body-parser is deprecated”错误,我想我已经解决了这个问题 app.use(express.json) app.use(express.urlencoded({ extended: true })) 但现在我的网站无法加载。我不知道这是如何工作的,但这是我所有的 nodejs 代码

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


app.use(express.json)
app.use(express.urlencoded({ extended: true }))
app.use(express.static('static'));

app.get('/', (req, res) => {
    res.sendFile("static/showcase.html", { root: __dirname });
});

这是什么问题,我该如何解决?

您忘记了 call/initialize express.json 中间件。您也可以删除 body-parser require 语句,然后通过 npm uninstall body-parser:

从您的依赖项中删除它
const express = require('express')
const app = express()
const path = require('path')
const session = require('express-session')


app.use(express.json())
app.use(express.urlencoded({ extended: true }))
app.use(express.static('static'));

app.get('/', (req, res) => {
    res.sendFile("static/showcase.html", { root: __dirname });
});