Modül önbelleğe alma ile ilgili node.js dokümantasyonuyla ilgili bir sorum var :
Modüller ilk yüklendikten sonra önbelleğe alınır. Bu, (diğer şeylerin yanı sıra), her gereksinim çağrısının ('foo') , aynı dosyaya çözümlenmesi halinde, döndürülen nesnenin tam olarak aynısını alacağı anlamına gelir.
Zorunlu kılmak için birden çok çağrı ('foo') , modül kodunun birden çok kez çalıştırılmasına neden olmayabilir . Bu önemli bir özelliktir. Bununla birlikte, "kısmen tamamlanmış" nesneler döndürülebilir, böylece geçişli bağımlılıkların döngülere neden olsalar bile yüklenmesine izin verilir.
Ne demek oluyor may?
Gerekirse her zaman aynı nesneyi döndüreceğini bilmek istiyorum . Yani durumda bir modül gerektiren A içinde app.jsve içinde ihracat nesneyi değiştirmek app.js(döner gerektiren bir) ve bundan sonra bir modül gerektiren B içinde app.jskendisi modülü gerektirdiğini A , ben olacak hep o nesnenin değiştirilmiş bir sürümünü veya yeni olsun bir?
// app.js
var a = require('./a');
a.b = 2;
console.log(a.b); //2
var b = require('./b');
console.log(b.b); //2
// a.js
exports.a = 1;
// b.js
module.exports = require('./a');