node 13 require 載入規則

2021-09-11 07:50:04 字數 938 閱讀 2771

為了避免重複載入,提高模組載入效率,會優先從快取載入,由於在 a 中已經載入 b 了,所以此時require('./b');並不會重複執行裡面的**,僅可以拿到裡面的介面物件,如下

模組識別符號:

第三方模組(模組名)使用的時候就可以通過require('包名')的方式進行載入才可以使用

不可能有任何乙個第三方包和核心模組的名字是一樣的

載入步驟:

先找到當前檔案所處目錄中的 node_modules 目錄

再找到 node_modules/art-template/package.json 檔案中的 main 屬性

main 屬性中就記錄了 art-template 的入口模組

然後載入使用這個第三方包(實際也是檔案)

如果 package.json 檔案不存在或 main 指定的入口模組沒有,則 node 會自動找該目錄下的 index.js ,即 index.js 會作為乙個預設備選項

如果以上條件不成立,則會進入上級目錄尋找 node_modules 目錄,以此迴圈,直到找不到報錯can not find module ***

自己的模組(路徑)

require方法載入規則

eg.var template require art template note 如果pakage.json檔案不存在或者main指定的入口模組是也沒有,則node會自動找到目錄下的index.js,index.js會作為乙個預設選項 如果以上任何一條件都不成立,則會進入上一級目錄中的node m...

node的export和require的使用

node的exports和require的使用 方法1 使用exports.xx來匯出 定義one.js node的匯出用exports.xx和module.exports,匯出用require 匯出方法1 exports.xx var a 1 var b 1,2,3 var c var f1 fu...

lua的模組載入require

載入指定的模組。首先函式會在 package.loaded 這個表中檢視是否已經載入 了 modname 這個模組。如果是,那麼 require 會返回儲存在 package.loaded modname 的值。否則它將嘗 試去查詢乙個載入該模組的載入器。require 是由 package.sea...