首頁  >  文章  >  web前端  >  什麼是CommonJS? Nodejs中如何自訂模組?

什麼是CommonJS? Nodejs中如何自訂模組?

藏色散人
藏色散人轉載
2022-08-08 14:22:182227瀏覽

一、 什麼是 CommonJs?

JavaScript 是一個強大物件導向語言,它有許多快速且有效率的解釋器。然而, JavaScript標準定義的 API 是為了建立基於瀏覽器的應用程式。並沒有製定一個用於更廣泛的應用程式的標準庫。 CommonJS 規範的提出,主要是為了彌補目前 JavaScript 沒有標準的缺陷。它的終極目標是: 提供一個類似 Python, Ruby 和 Java 語言的標準函式庫,而不只是停留在小腳本程式的階段。用 CommonJS API 編寫出的應用, 不僅可以利用 JavaScript 開發客戶端應用, 而且還可以編寫以下應用程式。

  • 伺服器端 JavaScript 應用程式。 ( nodejs)
  • 命令列工具。
  • 桌面圖形介面應用程式。

CommonJS 是模組化的標準, nodejs 就是 CommonJS( 模組化) 的實作。

二、 Nodejs 中的模組化

Node 應用由模組組成,採用 CommonJS 模組規格。

2.1 在 Node 中,模組分為兩類:

一類是 Node 提供的模組,稱為核心模組;另一類是使用者編寫的模組,稱為檔案模組。

  • 核心模組部分在 Node 原始碼的編譯過程中,編譯進了二進位執行檔。在Node 進程啟動時,部分核心模組就被直接加載進內存中,所以這部分核心模組引入時,文件定位和編譯執行這兩個步驟可以省略掉,並且在路徑分析中優先判斷,所以它的加載速度是最快的。如: HTTP 模組 、 URL 模組、 Fs 模組都是 nodejs 內建的核心模組,可以直接引入使用。
  • 檔案模組則是在運行時動態加載,需要完整的路徑分析、檔案定位、編譯執行過程、速度相比核心模組稍微慢一些,但是用的非常多。這些模組需要我們自己定義。接下來我們來看看 nodejs 中的自訂模組。

2.2 CommonJS(Nodejs) 中自訂模組的規定:

  • 1.我們可以把公共的功能抽離成為一個單獨的js 檔案當作一個模組,預設下面這個模組裡面的方法或者屬性, 外面是沒辦法訪問的。如果要讓外部可以存取模組裡面的方法或屬性, 就必須在模組裡面透過 exports 或 module.exports 暴露屬性或方法。
  • 2. 在需要使用這些模組的檔案中, 透過 require 的方式引入這個模組。這時候就可以使用模組裡面暴露的屬性和方法。

2.3 定義使用模組:

// 定义一个 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 產生package.json

npm init --yes

【推薦:node.js影片教學

以上是什麼是CommonJS? Nodejs中如何自訂模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除