溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CommonJs和NodeJs中自定義模塊的示例分析

發(fā)布時(shí)間:2020-12-05 11:18:48 來源:億速云 閱讀:190 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)CommonJs和NodeJs中自定義模塊的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

CommonJs和NodeJs中自定義模塊

1、什么是CommonJs

教程里巴拉巴拉說了一堆,我的理解就是 CommonJs 就是模塊化的標(biāo)準(zhǔn),NodeJs 就是CommonJs(模塊化)的實(shí)現(xiàn)。用 CommonJS API 編寫出的應(yīng)用,不僅可以利用JavaScript 開發(fā)客戶端應(yīng)用,而且還可以編寫以下應(yīng)用:
  a.服務(wù)器端JavaScript應(yīng)用程序(nodejs)
  b.命令行工具
  c.桌面圖形界面應(yīng)用程序

2、NodeJs中的模塊化

Node應(yīng)用是模塊組成的,采用CommonJs模塊規(guī)范。

在Node中,模塊分為兩類:

一類是 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中的自定義模塊。

CommonJS (Nodejs )中自定義模塊的規(guī)定

我們可以把公共的功能 抽離成為一個(gè)單獨(dú)的js文件 作為一個(gè)模塊,默認(rèn)情況下面這個(gè)模塊里面的方法或者屬性,外面是沒法訪問的。如果要讓外部可以訪問模塊里面的方法或者屬性,就必須在模塊里面通過 exports 或module.exports 暴露屬性或者方法。
在需要使用這些模塊的文件中,通過 require 的方式引入這個(gè)模塊。這個(gè)時(shí)候就可以使用模塊里面暴露的屬性和方法。
這里我做了一張圖方便理解:

CommonJs和NodeJs中自定義模塊的示例分析

  • 定義使用模塊

新建二個(gè)js

CommonJs和NodeJs中自定義模塊的示例分析

CommonJs和NodeJs中自定義模塊的示例分析

3.npm init生成package.json

npm init -yes

關(guān)于CommonJs和NodeJs中自定義模塊的示例分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI