Синглтон-паттерн с Browserify / CommonJS
Попытка реализовать шаблон синглтона в модулях CommonJS, используя Browserify. До сих пор:
// foo.js
var instance = null;
var Foo = function(){
if(instance){
return instance;
}
this.num = 0;
return instance = new Foo();
}
Foo.prototype.adder = function(){
this.num++;
};
module.exports = Foo();
// main.js
var foo = require('./foo.js');
console.log(foo.num); // should be 0
foo.adder(); // should be 1
var bar = require('./foo.js');
console.log(bar.num); // like to think it'd be 1, not 0
Первая проблема заключается в том, что я получаюmaximum call stack exceeded
ошибка при загрузке встроенного файла JS в браузер, но во-вторых, правильно ли я подхожу к этому? Это возможно?