NodeJS Module exports / prototype - n'a pas de méthode

J'ai un module qui ressemble à ceci:

var MyModule = module.exports = function MyModule(opts) {

    opts = (opts === Object(opts)) ? opts : {};

    if (!(this instanceof MyModule)) {
        return new MyModule(opts);
    }

    for (var key in opts) if ({}.hasOwnProperty.call(opts, key)) {
        this.config[key] == opts[key];
    }
};

MyModule.prototype.config = {
    something:'value'
}

MyModule.prototype.put = function put(info, cb) {
   //do stuff

};

Cependant, lorsque je l'utilise comme ceci:

var myModule = require('myModule.js');

myModule.put({test}, function(){
    //some callback stuff
});

J'obtiens l'erreur suivante:

TypeError: la fonction de l'Objet MyModule(opts) {

opts = (opts === Object(opts)) ? opts : {};

if (!(this instanceof MyModule)) {
    return new MyModule(opts);
}

for (var key in opts) if ({}.hasOwnProperty.call(opts, key)) {
    this.config[key] == opts[key];
} } has no method 'put'

Il semble que j'ai quelque chose de mal avec mon MyModule.prototype.put ?

source d'informationauteur Alex