1

我正在查看用于学习 Nodejs 的 GhostJS 源代码。我不明白为什么这两个调用对同一个函数有不同的参数:

https://github.com/TryGhost/Ghost/blob/688dd363cdf0084c20dd243b02c26afb6ebcabbe/core/server.js#L205-L206

任何人都可以解释为什么?

谢谢=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

4

1 回答 1

3

可以追溯到这个文件的第一次提交,在哪里bodyParser()被使用。

这增加了两个中间件。第一个multipart中间件将标记body为已解析并执行它必须执行的操作:

req._body = true;

...在第二次运行中,中间件不会做任何事情,因为主体已经被解析

return function multipart(req, res, next) {
    if (req._body) return next();
    ...
}

这对我来说似乎是一个错误。

于 2013-11-18T14:15:34.263 回答