跨路线共享对象

时间:2014-12-06 18:36:33

标签: node.js express keen-io

尝试使用Keen.io并想知道是否可以在每个调用Keen API的文件中调用“configure”?

他们的文档来自:https://github.com/keenlabs/KeenClient-node显示如何配置我在其中一条路线中使用的实例,但我有许多路线并发现我必须继续配置。

var Keen = require('keen.io');

// Configure instance. Only projectId and writeKey are required to send data.
var client = Keen.configure({
  projectId: "<project_id>",
  writeKey: "<write_key>",
  readKey: "<read_key>",
  masterKey: "<master_key>"
});

有没有办法“配置”一次或者我的想法是错误的?

2 个答案:

答案 0 :(得分:2)

查看this answer上有关SO的其他问题。它描述了一种使用app.get()app.set()访问应用程序之间依赖关系的方法。

配置client后,请在应用中进行设置:

app.set('keen', client);

然后从任何路线中取出它:

var client = app.get('keen');

答案 1 :(得分:1)

我决定在server.js中配置应用,然后将client对象传递给需要它的每条路由。这看起来效果很好,并且大大整理了我的代码。