1

我有一个 npm 模块,我想配置一次并在多个地方调用。

npm 模块(我们称它为“签名”)基本上是这样的

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

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

我制作了另一个模块('signer')来配置它:

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();
4

1 回答 1

1

签名者导出一个返回签名的函数。尝试:

var signer = require('../utils/signer');
signer().sign();
于 2013-09-20T05:18:29.303 回答