[英]In Node.js, why are variables equal the same across modules using the require function?
我在同一目錄中有以下文件:
data.js
var anArray = [1,2];
module.exports = anArray;
mod1.js
var data = require('./data');
module.exports = data;
mod2.js
var data = require('./data');
module.exports = data;
main.js
var mod1 = require('./mod1');
var mod2 = require('./mod2');
當我做mod1 === mod2
這是true
嗎? 我最初的想法是mod1和mod2文件應該包含一個數組,但是它們是不同的(對數組對象的不同引用)。
這是因為模塊被緩存。 由於您兩次引用相同的模塊,因此第二個模塊返回與第一個模塊完全相同的模塊。 在您的示例中,它與執行以下操作相同:
const arr1 = [1,2]
const arr2 = [1,2]
arr1 === arr1 // true
arr1 === arr2 // false
最后一行是false
因為您正在比較兩個不同的數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.