我正在查看用于学习Nodejs的GhostJS源代码。我不明白为什么这两个用不同的参数调用同一个函数:
任何人都可以解释原因吗?
谢谢= D
编辑: 这是撰写本文时的代码:
server.use('/ghost/upload/', express.multipart());
server.use('/ghost/upload/', express.multipart({uploadDir: __dirname + '/content/images'}));
编辑2 看到这个github问题: https://github.com/TryGhost/Ghost/issues/1511
答案 0 :(得分:3)
可以追溯到此文件的first commit,其中使用了bodyParser()
。
这增加了两个中间件。第一个multipart
中间件将flag the body
as parsed并执行它必须执行的操作:
req._body = true;
......在第二次运行中,中间件不会做任何事情,如body is already parsed:
return function multipart(req, res, next) {
if (req._body) return next();
...
}
这对我来说是个错误。