node使用require識別符號進行模組查詢的優先順序
核心模組,如 http、fs、path 等。
以 . 或 … 開始的相對路徑模組。
以 / 開始的絕對路徑檔案模組。
非路徑形式的檔案模組,如自定義的connect模組。
核心模組
核心模組的優先順序僅僅次於快取載入,它在node的源**中已經編譯成二進位制**,故其載入過程最快。
路徑形式的檔案模組
以 . / … 和 / 開始的識別符號,這裡被當作檔案模組來處理。在分析路徑模組時,require()方法會將路徑轉為真實路徑,並以真實路徑作為索引,將編譯路徑作為索引,將編譯執行後的結果存放到快取中,以使二次載入時更快。
*由於檔案模組給node指明了確切的檔案位置,所以在查詢過程中可節省大量時間,其載入速度慢於核心模組。
自定義模組
自定義模組指的是非核心模組,也不是路徑形式的識別符號。他是是一種特殊的檔案模組,可能是乙個檔案或者包的形式。這類模組的查詢是最費時的,也是所有模組中最慢的一種。
在介紹自定義模組的查詢方式之前,需要先介紹一下模組路徑這個概念。
模組路徑是node在定位檔案模組時制定的查詢策略,具體表現為乙個路徑組成的陣列。
模組路徑的生成規則如下:
//新建乙個index.js
console.log(module.path);
//輸出該檔案的路徑陣列
檔案定位
從快取中載入的優化策略使得二次載入使不需要路徑分析,檔案定位和編譯執行的過程,大大提高了再次載入模組的效率。
但在檔案定位過程中,還有一些細節需要注意,包括副檔名的分析,目錄和包的處理。
nodejs 自定義模組
1 npm nodejs package manager nodejs包管理器 npm install 安裝模組 npm uninstall 解除安裝模組 npm init 初始化 npm publish 發布自定義模組到npm官網 不過,大牛才用的上吧 o o,繼續努力吧!npm force un...
NodeJS自定義模組
1.建立測試模組js檔案 我這裡命名為test.js 2.新增測試方法 function test console.log test success 3.公開該方法到node模組 這個是public的方法名,外部呼叫的時候,使用這個方法名 exports.test test 4.測試 在另乙個js檔...
NodeJS自定義模組
1.建立測試模組js檔案 我這裡命名為test.js 2.新增測試方法 function test console.log test success 3.公開該方法到node模組 這個是public的方法名,外部呼叫的時候,使用這個方法名 exports.test test 4.測試 在另乙個js檔...