BodyParser 已弃用

Fu *_*ong 62 node.js express body-parser

在此处输入图片说明

如图所示,BodyParser 现在已被弃用,如何更正 bodyParser 语法或语句以删除换行符?

Moa*_*reh 145

如果您使用的是 Express 4.16+,则无需再导入body-parser。你可以这样做:

app.use(express.urlencoded({extended: true}));
app.use(express.json()) // To parse the incoming requests with JSON payloads
Run Code Online (Sandbox Code Playgroud)

  • 不客气!。要使用 JSON,您可以使用:app.use(express.json()) (4认同)

小智 14

我的项目也出现同样的问题。现在在最新的 express 中我们不需要导入 body-parse,我们可以直接使用 express 如下。

app.use(express.json());
app.use(express.urlencoded({ extended: true }));
Run Code Online (Sandbox Code Playgroud)

或者如果你限制尺寸

app.use(express.urlencoded({ limit: "50mb", parameterLimit: 500000000 }));
Run Code Online (Sandbox Code Playgroud)


Abr*_*ham 6

不要再使用 body-parser

身体解析已成为内置express所以,只需使用

app.use(express.json()) //For JSON requests
app.use(express.urlencoded({extended: true}));
Run Code Online (Sandbox Code Playgroud)

从直接快递

您可以使用卸载 body-parser npm uninstall body-parser





然后你可以简单地从 req.body

app.post("/yourpath", (req, res)=>{

    var postData = req.body;
    //then work with your data

    //or if this doesn't work, for string body
    var postData = JSON.parse(req.body);
});
Run Code Online (Sandbox Code Playgroud)

  • @Sixteen是的,只要请求具有JSON格式,它就可以直接工作,并且您不需要使用`JSON.parse()`。但对于以字符串形式发送 JSON 的请求,您必须使用 JSON.parse() 来获取可用的 JSON 对象。一个示例是前端代码,它使用“fetch”向服务器发送请求,并使用“JSON.stringify()”将对象作为字符串发送 (3认同)