express.json() 与正文解析器

express.json() vs body-parser

我是 Node.js 的初级开发人员。我一直在为 Express 应用程序导入 "body-parser",但我最近发现 Express 从 v4.16.0 开始就内置了基于 body-parser 的中间件。

我为 body-parser 和 Express 做了 RTFM,但文档对我来说看起来几乎一样。希望有经验的开发者多提意见:

  1. body-parser 和等效的内置 Express 函数(即 express.json())之间是否存在显着差异?
  2. 是否有理由导入 body-parser 而不是使用 Express 中已有的解析函数?

这是分开的原因是因为 express.js 过去没有任何正文解析功能。这是在 V4.16+

中添加的

如果您是 运行 更高版本,从技术上讲您不再需要 body-parser。

https://medium.com/@mmajdanski/express-body-parser-and-why-may-not-need-it-335803cd048c

另见https://codewithhugo.com/parse-express-json-form-body/

对于那些像我一样来这里寻找用于 JSON 解析的实际中间件的人:

express.json 字面意思是正文解析器。在 Express 的代码中你可以找到这段代码 (lib/express.js):

var bodyParser = require('body-parser')
// …
exports.json = bodyParser.json

Link: github/express

所以用哪一个来解析都没有关系