簡體   English   中英

NodeJS Require函數

[英]NodeJS Require function

當我發現需求不在其中時,我正在檢查節點的全局和模塊。 我不知道這是否是魔術,但是如果有人可以解釋是否require是全局的,那么為什么它不在全局對象或模塊對象中?

因為它在范圍內 在加載文件時,幕后的節點會包裝源代碼,以使您的代碼實際上如下所示:

(function (exports, require, module, __filename, __dirname) {
// here goes what's in your js file
});

然后,它調用匿名函數,傳入用於exports的新對象和對require函數的引用。 這里有更多細節。

現在很明顯,即使它不是真正的全局對象,您為什么也可以調用require

需求是將核心模塊編譯為二進制文件。 在此處詳細閱讀http://nodejs.org/api/modules.html#modules_core_modules

核心模塊在lib /文件夾中節點的源代碼中定義。

如果將核心模塊的標識符傳遞給require(),則始終優先加載它們。 例如,require('http')將始終返回內置的HTTP模塊,即使該名稱存在文件也是如此。

暫無
暫無

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

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