摘要:模塊系統(tǒng)為了讓的文件相互調(diào)用,提供了一個簡單的模塊系統(tǒng)應用程序的組成就是由模塊組成基本部分,文件和模塊是一一對應的。緩存區(qū)域分為兩種,一種是文件模塊緩存區(qū),也就是我們說的三種文件類型,還有一種就是原生模塊緩存區(qū),例如等原生模塊。
Node.js模塊系統(tǒng)
為了讓Node.js的文件相互調(diào)用,Node.js提供了一個簡單的模塊系統(tǒng)
Node.js應用程序的組成就是由模塊組成基本部分,文件和模塊是一一對應的。
一個Node.js文件就是一個模塊,這個文件可以是js代碼,JSON 或者編譯過的C/C++擴展。
接下來寫一個實例。
創(chuàng)建模塊與引入模塊很簡單,首先我們寫一個hello.js文件 代碼如下
// 模塊的主要邏輯 function Hello() { let name this.setName = function(argName) { name = argName } this.sayHello = function() { console.log("Hello" + name) } } module.exports = Hello //導出模塊
exports 和 module.exports 的使用
如果要對外暴露屬性或方法,就用 exports 就行,要暴露對象(類似class,包含了很多屬性和方法),就用 module.exports。
然后寫一個倒入模塊的文件 main.js
const Hello = require("./hello") // 這里使用require導入剛剛寫好的hello.js let hello = new Hello() hello.setName("思否") hello.sayHello()
服務端的模塊的加載流程
node.js中有原生模塊和三種文件模塊 ,在使用中只需要require,用起來很簡單,但是內(nèi)部的加載很復雜,其加載優(yōu)先級也各有不同,入下圖所示
按圖中所示,不管是哪種模塊,加載機制都會優(yōu)先檢查文件是否在模塊緩存區(qū)中,緩存區(qū)的意義在于防止某一個模塊被反復加載。
緩存區(qū)域分為兩種,一種是文件模塊緩存區(qū),也就是我們說的三種文件類型,還有一種就是原生模塊緩存區(qū),例如http fs等原生模塊。
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/104386.html
摘要:模塊系統(tǒng)為了讓的文件可以相互調(diào)用,提供了一個簡單的模塊系統(tǒng)。但是,沒有模塊系統(tǒng)。包管理簡稱,是隨同一起安裝的包管理工具。輸入命令,根據(jù)提示配置包的相關信息,生成相應的。以上所描述的模塊載入機制均定義在模塊之中。 Node.js簡介 首先從名字說起,網(wǎng)上查閱資料的時候會發(fā)現(xiàn)關于node的寫法五花八門,到底哪一種寫法最標準呢?遵循官方網(wǎng)站的說法,一直將項目稱之為Node或者Node.js。...
摘要:深入淺出一直想致力于寫一篇關于廣義講解系統(tǒng)的文章,苦于時間有限,資源有限。事件驅(qū)動機制是通過內(nèi)部單線程高效率地維護事件循環(huán)隊列來實現(xiàn)的,沒有多線程的資源占用和上下文的切換。 深入淺出Node.js 一直想致力于寫一篇關于廣義講解Node.js系統(tǒng)的文章,苦于時間有限,資源有限。這篇文章是在結合自己的學習心得以及與行業(yè)大佬共同探討下爭對于熟練掌握JS語言后的廣義Node.js.至于為什么...
摘要:深入淺出一直想致力于寫一篇關于廣義講解系統(tǒng)的文章,苦于時間有限,資源有限。事件驅(qū)動機制是通過內(nèi)部單線程高效率地維護事件循環(huán)隊列來實現(xiàn)的,沒有多線程的資源占用和上下文的切換。 深入淺出Node.js 一直想致力于寫一篇關于廣義講解Node.js系統(tǒng)的文章,苦于時間有限,資源有限。這篇文章是在結合自己的學習心得以及與行業(yè)大佬共同探討下爭對于熟練掌握JS語言后的廣義Node.js.至于為什么...
摘要:深入淺出一直想致力于寫一篇關于廣義講解系統(tǒng)的文章,苦于時間有限,資源有限。事件驅(qū)動機制是通過內(nèi)部單線程高效率地維護事件循環(huán)隊列來實現(xiàn)的,沒有多線程的資源占用和上下文的切換。 深入淺出Node.js 一直想致力于寫一篇關于廣義講解Node.js系統(tǒng)的文章,苦于時間有限,資源有限。這篇文章是在結合自己的學習心得以及與行業(yè)大佬共同探討下爭對于熟練掌握JS語言后的廣義Node.js.至于為什么...
閱讀 3546·2023-04-25 20:09
閱讀 3744·2022-06-28 19:00
閱讀 3065·2022-06-28 19:00
閱讀 3089·2022-06-28 19:00
閱讀 3182·2022-06-28 19:00
閱讀 2884·2022-06-28 19:00
閱讀 3056·2022-06-28 19:00
閱讀 2641·2022-06-28 19:00