【问题标题】:Why these 2 calls to same function?为什么这两个调用相同的函数?
【发布时间】:2013-11-18 13:56:17
【问题描述】:

我正在查看用于学习 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

【问题讨论】:

  • 对我来说有点没用。
  • 您能否将该代码复制到您的问题中?如果有人签入该存储库,您的链接将被破坏。
  • 我实际上在该路线上实现了多部分的切换,虽然我不能告诉你为什么我的头顶上必须这样做,但我可以告诉你,如果没有两次注册,上传会只是失败。可能还有其他事情发生,只是不记得我的头上是什么。
  • @GotDibbs 感谢您的解释

标签: node.js express ghost-blog


【解决方案1】:

可以追溯到此文件的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();
    ...
}

这在我看来是个错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-18
    • 2023-03-22
    • 1970-01-01
    • 2023-04-05
    • 2012-07-21
    • 1970-01-01
    • 2017-03-12
    • 2023-01-10
    相关资源
    最近更新 更多