NodeJs學習(二)CommonJs和NodeJs中自定義模塊

CommonJs和NodeJs中自定義模塊

  1. 什麼是CommonJs

    教程裏巴拉巴拉說了一堆,個人理解就是 CommonJs 就是模塊化的標準,NodeJs 就是CommonJs(模塊化)的實現。用 CommonJS API 編寫出的應用,不只能夠利用JavaScript 開發客戶端應用,並且還能夠編寫如下應用:
    a.服務器端JavaScript應用程序(nodejs)
    b.命令行工具
    c.桌面圖形界面應用程序node

  2. NodeJs中的模塊化

Node應用是模塊組成的,採用CommonJs模塊規範。npm

  • 在Node中,模塊分爲兩類:
一類是 Node 提供的模塊,稱爲核心模塊;另外一類是用戶編寫的模塊,稱爲 文件模塊。
核心模塊部分在 Node 源代碼的編譯過程當中,編譯進了二進制執行文件。在 Node 進程啓動時,部分核心模塊就被直接加載進內存中,因此這部分核心模塊引入時,文件定位和編譯執行這兩個步驟能夠省略掉,而且在路徑分析中優先判斷,因此它的加載速度是最快的。如:HTTP模塊、URL模塊、Fs模塊都是nodejs 內置的核心模塊。能夠直接引入使用。
文件模塊則是在運行時動態加載,須要完整的路徑分析、文件定位、編譯執行過程、速度相比核心模塊稍微慢一些,可是用的很是多。 這些模塊須要咱們本身定義。 接下來我下們看一下nodejs中的自定義模塊。
  • CommonJS (Nodejs )中自定義模塊的規定
咱們能夠把公共的功能 抽離成爲一個單獨的js文件 做爲一個模塊,默認狀況下面這個模塊裏面的方法或者屬性,外面是無法訪問的。若是要讓外部能夠訪問模塊裏面的方法或者屬性,就必須在模塊裏面經過 exports 或module.exports 暴露屬性或者方法。
在須要使用這些模塊的文件中,經過 require 的方式引入這個模塊。這個時候就可使用模塊裏面暴露的屬性和方法。
這裏我作了一張圖方便理解:

clipboard.png

  • 定義使用模塊

新建二個jsjson

clipboard.png

clipboard.png

3.npm init生成package.json服務器

npm init -yes

年末了很累,要低調過冬,思否明天見~模塊化

相關文章
相關標籤/搜索