2013-09-20 3 views
1

У меня есть модуль npm, который я бы хотел настроить один раз и позвонить в несколько мест.Инициализация модуля NodeJS

Модуль NPM (назовем его 'подпись'), в основном, как этот

module.exports = function(options) { 
return new Signature(options); 
}; 

var Signature = function(options) { } 
Signature.prototype.sign = function() {} 

я сделал еще один модуль ('подписавшего'), чтобы настроить его:

var signature = require('signature'); 

module.exports = function() { 
// I pass whatever config options here 
return signature({}); 
}; 

В моем коде делать:

var signer = require('../utils/signer'); 
signer.sign(); 

Однако это дает мне «не имеет метод„знак“ошибка Что я делаю неправильно, я подозреваю, что я должен.? инициализировать что-то, но не уверен, что. Если я обхожу модуль конфигурации (подписавший) и просто вызовите модуль подписи, то он работает отлично:

var signature = require('signature'); 
var s = signature(); 
s.sign(); 

ответ

1

подписывающие экспортирует функцию, которая возвращает подпись. Попытка:

var signer = require('../utils/signer'); 
signer().sign(); 
+0

Не будет ли каждый раз создавать новый экземпляр Подписи? Я в основном хочу настроить подпись однажды и иметь простой способ вызвать готовый экземпляр где бы то ни было. Возможно, мне нужно изменить свой подход? – cyberwombat

+0

Это было бы. Из предоставленного вами примера, если вы хотите, чтобы подписыватель экспортировал один экземпляр, вы можете его изменить: module.exports = signature ({}); – dc5

+0

Отлично - это сделал трюк. – cyberwombat

Смежные вопросы