if you have a simple javascript file foo.js like so:
function doSomething (){ console.log('done'); } module.exports = doSomething; if this file/module is required, it will get cached (any information about this online that you could point me to would be great).
so, in another JS file we have:
var foo1 = require('foo'); // yup and in yet another file we have:
var foo2 = require('foo'); // points to same cache as foo1 but what happens with the cache when we call:
var foo3 = new foo2(); // doesn't point to same cache as foo2 and foo1? I assume a new copy of something is created, but what exactly happens beneath the surface? I am wondering this because I want to know how robust a particular singleton pattern is in JavaScript.