【发布时间】:2017-03-27 12:42:32
【问题描述】:
我的基于节点的服务器使用 Express。服务器只处理 json 路由和使用多部分表单的文件上传路由。使用 Express3 时,内置解析器会解析两种路由。我正在迁移到 Express4。我不得不切换到 Express4 的 body-parser 只解析 jsons。我正在使用 multer 解析器来解析文件上传。
对于每条路由,我指定使用哪个解析器,如下所示:
var express = require('express');
var bodyParser = require('body-parser');
var multer = require('multer');
var jsonParser = bodyParser.json();
var upload = multer({dest : 'upload/' });
var uploadParser = upload.any();
var app = express();
// json route handling
app.post('json_only_route', jsonParser, function(req, res) {...});
// upload route handling
app.post('upload_route', uploadParser, function(req, res) {...});
或者,对于仅解析 json 的情况,我也可以使用 multer 解析器,如下所示:
var jsonParserMulter = uploadParser.none();
// json route handling
app.post('json_only_route', jsonParserMulter, function(req, res) {...});
是否有任何理由使用一种方法而不是另一种方法? 'body-parser' 会为仅解析 json 提供更好的性能吗?
【问题讨论】:
标签: json node.js express multer body-parser