You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js与Express学习中body-parser已弃用问题的解决方案咨询

解决Express中body-parser模块弃用的问题

嘿,这个情况我之前也碰到过!其实原因很简单:从Express 4.16.0版本开始,body-parser的核心功能已经直接内置到Express框架里了,官方不再单独维护这个独立模块,所以VS Code会弹出弃用提示。

下面给你两种处理方案,按需选择:

方案一:改用Express内置的解析方法(推荐)

这是最标准的做法,完全替代body-parser的功能,步骤如下:

  1. 先卸载不再需要的body-parser模块:
    npm uninstall body-parser
    
  2. 修改你的代码,把原来调用body-parser的地方换成Express内置方法:
    原来的代码(弃用写法):
    const express = require('express');
    const bodyParser = require('body-parser');
    const app = express();
    
    // 解析JSON请求体
    app.use(bodyParser.json());
    // 解析URL编码的请求体
    app.use(bodyParser.urlencoded({ extended: true }));
    
    替换为:
    const express = require('express');
    const app = express();
    
    // 内置的JSON解析,功能和bodyParser.json()完全一致
    app.use(express.json());
    // 内置的URL编码解析,功能和bodyParser.urlencoded()完全一致
    app.use(express.urlencoded({ extended: true }));
    

方案二:保留body-parser(不推荐,仅兼容老项目)

如果你的项目依赖的是低于4.16.0版本的Express,暂时没法升级,那可以忽略这个弃用提示继续使用body-parser。但长远来看,还是建议你升级Express到4.16.0及以上版本,这样既能摆脱弃用提示,也能享受框架内置功能的稳定性。

补充说明:extended: true参数允许解析包含嵌套对象的URL编码数据,如果你不需要处理这类复杂数据,也可以设为false,不过大多数场景下保持true会更灵活。

内容的提问来源于stack exchange,提问作者Arun Bohra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 10:14:06