我正在使用 Express 在我的 Node.js 应用程序中公开一个 REST API。当收到 REST 请求时,我从 HTTP header 中提取用户信息。我希望此信息在请求的整个生命周期内都可用,无论我在哪个函数中。一个明显但笨拙的方法是将用户信息作为参数传递给所有函数调用。有没有更好的办法?到目前为止,我已经找到了以下解决方案,但我不确定它们是否已准备好迎接黄金时段:
- StrongLoop Zone Library : 文档说“区域库和文档仍在开发中:存在错误、缺少功能和有限的文档。”
- Continuation-Local Storage : 不确定这是否会成为 Node.js 的一部分。这issue最后建议查看 StrongLoop 区域。
- Node.js Domains : 看起来这并没有真正起飞。
最佳答案
我不确定你是否还在寻找,但不久前我构建了 express-http-context
为了这个目的。它是一个位于 cls-hooks
(以前的 continuation-local-storage
)之上的快速中间件。
完全披露:这是我构建和维护的 npm 包。
关于node.js - 在 Express/Node.js 中维护请求范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31746875/