📅  最后修改于: 2023-12-03 15:29:38.129000             🧑  作者: Mango
在过去的几年里,body-parser
一直是非常流行的Node.js中间件,它帮助开发人员处理来自HTTP POST请求的请求体。然而,自Express 4.16.0版本中引入了内置的express.urlencoded()
和express.json()
,body-parser
库就宣布已经被弃用了。
body-parser
是一个Node.js中间件,主要用于将HTTP请求体解析为可用的JSON,Buffer,String或URL编码的参数。
body-parser
被弃用是由于Express框架内置了功能与其相同的中间件express.urlencoded()
和express.json()
。使用内置的中间件可以减少依赖库的数量,并提高应用程序的性能。
从body-parser
迁移到内置的中间件是非常简单的,只需要做以下几个步骤即可:
1.从代码中删除所有与body-parser
相关的引用
2.安装body-parser
的两个依赖项qs
和bytes
:
npm install qs bytes
3.在Express应用程序中使用内置的中间件:
const express = require('express')
const app = express()
// for parsing application/json
app.use(express.json())
// for parsing application/x-www-form-urlencoded
app.use(express.urlencoded({ extended: true }))
// for parsing multipart/form-data
// app.use(upload.array())
对于使用Express 4.16.0及更高版本的开发人员,使用内置的中间件代替body-parser
是一个更好的选择,因为它们提供相同的功能,并且没有添加额外的依赖。 迁移现有代码到新的中间件只需要几个简单的步骤,因此开发人员应该考虑使用Express内置的中间件替换body-parser
。