Попытка реализовать шаблон singleton в модулях 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 файла в браузере, но, во-вторых, я правильно подошел? Возможно ли это?