nodeJS裡面的模組化

2022-05-07 04:48:07 字數 1038 閱讀 8976

開啟cmd,執行如下命令

輸出如上資訊,表示this是global,每個電腦的配置資訊不一樣的話,可能會有所差別的。

然後新建乙個檔案,寫下如下**,

console.log(this)
使用node命名執行你的檔案,發現會輸出:{}

this表示你當前操作的模組

然後新建乙個檔案,寫下如下**,

console.log(arguments)
使用node命名執行你的檔案,發現會輸出:

為什麼能正確輸出arguments呢,不是函式裡面才有arguments嗎?可是**中沒有看見跟函式有關的任何**呀?

其實每個檔案都是乙個模組,模組中的**預設就在閉包函式裡面。預設的函式**如下:

(function (exports, require, module, __filename, __dirname) {})()
我們發現還傳入了一些引數,看看去是不是很眼熟呀!這裡就不再介紹了,因為地球人都知道。。。。

nodejs裡面的模組是基於commonjs規範實現的,原理是檔案的讀寫,匯出檔案要使用exports、module.exports,引入檔案用require

每個檔案就是乙個模組

每個檔案裡面的**會用預設寫在乙個閉包函式裡面,避免衝突

為什麼要實現模組化呢?模組化有什麼好處,你還知道有哪些模組化?

低耦合,高內聚:把實現相同功能的**封裝在一起,提高了重複利用率。

方便維護:模組化的管理我們的**,更佳人性化。

防止**衝突:通過閉包的形式來保護裡面的變數不受外界的干擾

常見的客戶端模組有cmd和amd

cmd是就近依賴,amd是依賴前置

關於 nodejs 裡面的 jwt

為什麼要用token?對於傳統的session,客戶端做一次記錄,以方便使用者下次請求的鑑別,通常而言session都是儲存在記憶體中,而隨著認證使用者的增多,服務端的開銷會明顯增大。傳統session儲存的擴充套件性差,服務端做認證記錄,如果認證的記錄被儲存在記憶體中的話,這意味著使用者下次請求還...

nodejs模組化解析

1.每乙個js檔案都是乙個模組,需要暴露才能讓其他js模組引入使用 因為每乙個js檔案都是乙個閉包作用域,避免全域性變數汙染 2.練習 寫函式求和,寫函式求平均數 3.模組標識 內建模組 底層的c 檔案模組 自己寫的 核心模組 node modules目錄下 4.exports和require怎麼來...

什麼是模組化?模組化的好處

1.高內聚低耦合,有利於團隊作戰,當專案很複雜的時候,將專案劃分為子模組分給不同的人開發,最後再組合在一起,這樣可以降低模組與模組之間的依賴關係體現低耦合,模組又有特定功能體現高內聚。2.可重用,方便維護,模組的特點就是有特定功能,當兩個專案都需要某種功能的時候,我們定義乙個特定的模組來實現該功能,...