Node/Express
许多已经在使用Node/Express框架的人已经习惯于安装body-parser这种中间件,以便我们能够读取传入的JSON对象的“body”。body-parser以前不是Express框架的一部分,但是从Express版本4.16+开始,默认Express软件包中包含了他们自己的body-parser实现,因此无需再额外安装body-parser。
目的
这篇文章旨在使您在使用Express 4.16+(或更高版本)时停止运行以下命令,除非您绝对需要它(见文末):
npm install --save body-parser
您可能已经在代码中添加了一行,如下所示:
app.use(bodyparser.json()); //使用body-parser package
如果您使用的是Express 4.16+,则现在可以将该行替换为:
app.use(express.json()); //用于解析JSON正文
这应该不会在应用中引入任何重大的更改,因为express.json()中的代码是基于bodyparser.json()的。
如果您的环境中也有以下代码:
app.use(bodyParser.urlencoded({extended:true}));
您可以将其替换为:
app.use(express.urlencoded()); //解析URL编码的主体
结论
如果您使用的是Express 4.16+,则不需要在程序中安装body-parser软件包。有许多教程包括body-parser的安装,因为它们的发布日期早于Express 4.16的发布。
最后的警告提示:
在某些非常特殊的情况下,可能仍然需要body-parser,但是在大多数用例中,Express自身对于body-parser的实现已经足够使用了(请参阅github上的文档以获取更多信息)