簡體   English   中英

在Node.js中導出模塊時的依賴關系范圍

[英]Scope of dependencies when exporting a module in Node.js

導出具有其他依賴關系的模塊時,最好是在模塊導出函數中還是在模塊導出函數之外包含該依賴關系? 我通常會看到后者,但似乎最好將它保留在本地范圍內。

例如:

var foo = require('foo');

module.exports = function(d) {
    return foo(d)/2;
}

module.exports = function(d) {
    var foo = require('foo');

    return foo(d)/2;
}

只有在module.exportsglobalmodule.exports才能從節點中的其他模塊訪問。 與瀏覽器不同, var創建本地引用。 引用節點的文檔

在瀏覽器中,頂級范圍是全局范圍。 這意味着在瀏覽器中,如果您在全局范圍內,var會定義一個全局變量。 在Node中,這是不同的。 頂級范圍不是全球范圍; Node模塊內的var something 將是該模塊的本地內容

因此,兩個版本之間的差異是最小的 - 第一個版本在本地范圍內進行查找,而其他require.cache每次調用函數時都需要require.cache 從我所看到的節點代碼,前者( var someVar = require('something'); )似乎是首選。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM