为什么我会收到'bodyParser'已弃用警告?



我使用了两个包的最新版本,但仍然,我得到'bodyParser'是一个过时的警告。它不影响我的代码,但为什么会发生这种情况?

const express =  require("express")
const bodyParser =  require("body-parser")
let app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.listen(port, () => {
console.log(`Welcome to ${port}`);
});

我认为最好不要再使用body-parser

从Express 4.16+开始,body解析功能已内置到Express

中你可以做

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

from直接表达,不需要安装body-parser。

以便您可以使用npm uninstall body-parser卸载body-parser,并使用express

这意味着body-parser希望您使用不同的方法(.json()或.urlencoded()):

https://github.com/expressjs/body-parser/commit/b7420f8dc5c8b17a277c9e50d72bbaf3086a3900

同样的问题也发生在我的项目中。现在,在最新的express中,我们不需要导入body-parse,我们可以像下面这样使用express。

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

或如果您限制大小

app.use(express.urlencoded({ limit: "50mb", extended: false, parameterLimit: 500000000 }));

最新更新