gpt4 book ai didi

node.js - 处理库依赖关系的正确方法

转载 作者:太空宇宙 更新时间:2023-11-03 22:00:04 26 4
gpt4 key购买 nike

我无法决定/确定将依赖项传递到我的 Express 路由的标准/最佳方法是什么。我遇到的问题是我的一些库有与之关联的绑定(bind),即。我的 session 管理器已连接到我的 redis 队列客户端。我的日志有相应的配置设置等。

这是我的路线:

// Include routes and endpoints
app.use(require('./routes/account')(queue, models, log));
app.use(require('./routes/message')(queue, models, log));
app.use(require('./routes/admin') (queue, models, log));

如您所见,我将依赖项作为参数传递。我还没有开始编写单元测试,但我怀疑当我到达那里时这会带来更多痛苦。

我想做的另一件事是将库附加到我的请求对象,如下所示:

req.log = log;
req.nconf = nconf;
req.sessions = sessions;

我不确定的是:a)最佳/标准实践是什么,b)这些方法是否会影响性能/内存使用,c)这将如何影响我 future 的单元测试。

对此的任何见解都会很棒!

谢谢。

最佳答案

我会在应用程序级别设置它们:

app.set('queue', queue)

然后将您的应用程序传递给路由函数:

app.use(require ('./routes/admin')(app))

然后检索:

queue = app.get('queue')

关于node.js - 处理库依赖关系的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28610155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com