這篇文章主要介紹了Nodejs中怎么自定義CommonJS模塊的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Nodejs中怎么自定義CommonJS模塊文章都會(huì)有所收獲,下面我們一起來看看吧。
創(chuàng)新互聯(lián)專注于灞橋網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供灞橋營(yíng)銷型網(wǎng)站建設(shè),灞橋網(wǎng)站制作、灞橋網(wǎng)頁(yè)設(shè)計(jì)、灞橋網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造灞橋網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供灞橋網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
JavaScript 是一個(gè)強(qiáng)大面向?qū)ο笳Z(yǔ)言,它有很多快速高效的解釋器。 然而, JavaScript標(biāo)準(zhǔn)定義的 API 是為了構(gòu)建基于瀏覽器的應(yīng)用程序。并沒有制定一個(gè)用于更廣泛的應(yīng)用程序的標(biāo)準(zhǔn)庫(kù)。 CommonJS 規(guī)范的提出,主要是為了彌補(bǔ)當(dāng)前 JavaScript 沒有標(biāo)準(zhǔn)的缺陷。 它的終極目標(biāo)就是: 提供一個(gè)類似 Python, Ruby 和 Java 語(yǔ)言的標(biāo)準(zhǔn)庫(kù),而不只是停留在小腳本程序的階段。用 CommonJS API 編寫出的應(yīng)用, 不僅可以利用 JavaScript 開發(fā)客戶端應(yīng)用, 而且還可以編寫以下應(yīng)用。
服務(wù)器端 JavaScript 應(yīng)用程序。( nodejs)
命令行工具。
桌面圖形界面應(yīng)用程序。
CommonJS 就是模塊化的標(biāo)準(zhǔn), nodejs 就是 CommonJS( 模塊化) 的實(shí)現(xiàn)。
Node 應(yīng)用由模塊組成,采用 CommonJS 模塊規(guī)范。
一類是 Node 提供的模塊,稱為核心模塊;另一類是用戶編寫的模塊,稱為文件模塊。
核心模塊部分在 Node 源代碼的編譯過程中,編譯進(jìn)了二進(jìn)制執(zhí)行文件。在 Node 進(jìn)程啟動(dòng)時(shí),部分核心模塊就被直接加載進(jìn)內(nèi)存中,所以這部分核心模塊引入時(shí),文件定位和編譯執(zhí)行這兩個(gè)步驟可以省略掉,并且在路徑分析中優(yōu)先判斷,所以它的加載速度是最快的。如: HTTP 模塊 、 URL 模塊、 Fs 模塊都是 nodejs 內(nèi)置的核心模塊,可以直接引入使用。
文件模塊則是在運(yùn)行時(shí)動(dòng)態(tài)加載,需要完整的路徑分析、文件定位、編譯執(zhí)行過程、速度相比核心模塊稍微慢一些,但是用的非常多。 這些模塊需要我們自己定義。 接下來我們看一下 nodejs 中的自定義模塊。
1.我們可以把公共的功能抽離成為一個(gè)單獨(dú)的 js 文件作為一個(gè)模塊, 默認(rèn)情況下面這個(gè)模塊里面的方法或者屬性, 外面是沒法訪問的。如果要讓外部可以訪問模塊里面的方法或者屬性, 就必須在模塊里面通過 exports 或者 module.exports 暴露屬性或者方法。
2. 在需要使用這些模塊的文件中, 通過 require 的方式引入這個(gè)模塊。這個(gè)時(shí)候就可以使用模塊里面暴露的屬性和方法。
// 定義一個(gè) tools.js 的模塊 //模塊定義 var tools = { sayHello: function() { return 'hello NodeJS'; }, add: function(x, y) { return x + y; } }; // 模塊接口的暴露 // module.exports = tools; exports.sayHello = tools.sayHello; exports.add = tools.add; 1 2 3 4 var http = require('http'); // 引入自定義的 tools.js 模塊 var tools= require('./tools'); tools.sayHello(); //使用模塊
npm init --yes
關(guān)于“Nodejs中怎么自定義CommonJS模塊”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Nodejs中怎么自定義CommonJS模塊”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。