【问题标题】:express.json() vs body-parserexpress.json() 与 body-parser
【发布时间】:2020-05-01 22:41:28
【问题描述】:

我是 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 v4.16.0以后不用导入

标签: node.js express middleware body-parser


【解决方案1】:

之所以分开是因为 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/

【讨论】:

    【解决方案2】:

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

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

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

    链接:github/express

    所以使用哪一种来解析并不重要

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-24
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 1970-01-01
      • 2016-12-18
      相关资源
      最近更新 更多