日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

nodejs-模块系统

發布時間:2025/6/17 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nodejs-模块系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Node.js模塊系統為了讓Node.js的文件可以相互調用,Node.js提供了一個簡單的模塊系統。模塊是Node.js 應用程序的基本組成部分,文件和模塊是一一對應的。換言之,一個 Node.js 文件就是一個模塊,這個文件可能是JavaScript 代碼、JSON 或者編譯過的C/C++ 擴展。//-------------------------------------hello.jsexports.world = function() {console.log('Hello World');}main.jsvar hello = require('./hello');hello.world();對象封裝到模塊中//hello.jsfunction Hello() {var name;this.setName = function(thyName) {name = thyName;};this.sayHello = function() {console.log('Hello ' + name);};};module.exports = Hello;//main.jsvar Hello = require('./hello');hello = new Hello();hello.setName('BYVoid');hello.sayHello();//-----------------------------------

調用查找順序

?

在路徑 Y 下執行 require(X) 語句執行順序1. 如果 X 是內置模塊a. 返回內置模塊b. 停止執行2. 如果 X 以 '/' 開頭a. 設置 Y 為文件根路徑3. 如果 X 以 './' 或 '/' or '../' 開頭a. LOAD_AS_FILE(Y + X)b. LOAD_AS_DIRECTORY(Y + X)4. LOAD_NODE_MODULES(X, dirname(Y))5. 拋出異常 "not found"LOAD_AS_FILE(X)1. 如果 X 是一個文件, 將 X 作為 JavaScript 文本載入并停止執行。2. 如果 X.js 是一個文件, 將 X.js 作為 JavaScript 文本載入并停止執行。3. 如果 X.json 是一個文件, 解析 X.json 為 JavaScript 對象并停止執行。4. 如果 X.node 是一個文件, 將 X.node 作為二進制插件載入并停止執行。LOAD_INDEX(X)1. 如果 X/index.js 是一個文件, ?將 X/index.js 作為 JavaScript 文本載入并停止執行。2. 如果 X/index.json 是一個文件, 解析 X/index.json 為 JavaScript 對象并停止執行。3. 如果 X/index.node 是一個文件, ?將 X/index.node 作為二進制插件載入并停止執行。LOAD_AS_DIRECTORY(X)1. 如果 X/package.json 是一個文件,a. 解析 X/package.json, 并查找 "main" 字段。b. let M = X + (json main 字段)c. LOAD_AS_FILE(M)d. LOAD_INDEX(M)2. LOAD_INDEX(X)LOAD_NODE_MODULES(X, START)1. let DIRS=NODE_MODULES_PATHS(START)2. for each DIR in DIRS:a. LOAD_AS_FILE(DIR/X)b. LOAD_AS_DIRECTORY(DIR/X)NODE_MODULES_PATHS(START)1. let PARTS = path split(START)2. let I = count of PARTS - 13. let DIRS = []4. while I >= 0,a. if PARTS[I] = "node_modules" CONTINUEb. DIR = path join(PARTS[0 .. I] + "node_modules")c. DIRS = DIRS + DIRd. let I = I - 15. return DIRS

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的nodejs-模块系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。