Совместное использование объектов по маршрутам

Испытываете Keen.io и задаетесь вопросом, возможно ли НЕ вызывать "configure" в каждом файле, который будет вызывать Keen API?

Их документы отсюда: 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 ответа

Решение

Я решил настроить приложение вserver.js а затем передать client возражать против каждого маршрута, который требует этого. Это, кажется, работает хорошо и значительно упростило мой код.

Проверьте этот ответ на другой вопрос о SO. Описывает метод для использования app.get() а также app.set() чтобы получить доступ к зависимостям через приложение.

После настройки client, установите его в приложении:

app.set('keen', client);

Затем позже вытащите его из любого маршрута:

var client = app.get('keen');
Другие вопросы по тегам