TSLint 将主体解析器标记为已弃用
TSLint marks body-parser as deprecated
我有下面的 Typescript 代码:
import * as express from 'express';
import * as bodyParser from 'body-parser';
...
const app: express.Application = express();
app.use(bodyParser.json());
在 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;
为什么 linter 抱怨 body-parser 函数,而我没有在我的代码中将它用作函数?我是否在 tsconfig.json 文件中遗漏了一些东西来防止这种情况发生?编译好像没问题
BodyParse 内置于 Express js 中
所以现在您不必安装 body-parser,而是安装它。
app.use(express.json());
不要再使用 body-parser
从 Express 4.16+ 开始,正文解析功能已成为 builtin with express
所以,你可以简单地做
app.use(express.urlencoded({extended: true}));
app.use(express.json()) // To parse the incoming requests with JSON payloads
直接使用 express,无需安装 body-parser。
使用 npm uninstall body-parser
卸载 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);
});
我有下面的 Typescript 代码:
import * as express from 'express';
import * as bodyParser from 'body-parser';
...
const app: express.Application = express();
app.use(bodyParser.json());
在 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;
为什么 linter 抱怨 body-parser 函数,而我没有在我的代码中将它用作函数?我是否在 tsconfig.json 文件中遗漏了一些东西来防止这种情况发生?编译好像没问题
BodyParse 内置于 Express js 中
所以现在您不必安装 body-parser,而是安装它。
app.use(express.json());
不要再使用 body-parser
从 Express 4.16+ 开始,正文解析功能已成为 builtin with express
所以,你可以简单地做
app.use(express.urlencoded({extended: true}));
app.use(express.json()) // To parse the incoming requests with JSON payloads
直接使用 express,无需安装 body-parser。
使用 npm 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);
});