Hal*_*alt 18 typescript tslint body-parser
我有下面的打字稿代码:
import * as express from 'express';
import * as bodyParser from 'body-parser';
...
const app: express.Application = express();
app.use(bodyParser.json());
Run Code Online (Sandbox Code Playgroud)
在 VSCode 中,最后一行的 bodyParser 用黄色波浪线标记,表示不推荐使用 body-parser。
在 .d.ts 文件中,我看到以下内容:
/** @deprecated */
declare function bodyParser(
options?: bodyParser.OptionsJson & bodyParser.OptionsText & bodyParser.OptionsUrlencoded,
): NextHandleFunction;
declare namespace bodyParser {
...
function json(options?: OptionsJson): NextHandleFunction;
Run Code Online (Sandbox Code Playgroud)
为什么 linter 会抱怨 body-parser 函数,而我没有在我的代码中将它用作函数?我是否在 tsconfig.json 文件中遗漏了一些东西来防止这种情况发生?编译似乎没有问题。
Tha*_*hah 54
BodyParse 内置于 Express js
所以现在你不必安装 body-parser,而是这样做。
app.use(express.json());
Run Code Online (Sandbox Code Playgroud)
自 Express 4.16+ 起,正文解析功能已内置于 Express 中
所以,你可以简单地做
app.use(express.urlencoded({extended: true}));
app.use(express.json()) // To parse the incoming requests with JSON payloads
Run Code Online (Sandbox Code Playgroud)
直接使用express,无需安装body-parser。
使用卸载 body-parsernpm uninstall body-parser
然后您可以使用以下方法访问 POST 数据req.body
app.post("/yourpath", (req, res)=>{
var postData = req.body;
//Or if body comes as string,
var postData = JSON.parse(req.body);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9398 次 |
| 最近记录: |