1. 程式人生 > 實用技巧 >node.js概述

node.js概述

node.js介紹

相關網址:

https://nodejs.org/zh-cn/

http://nodejs.cn/

Node.js 是一個開源與跨平臺的JavaScript執行時環境。它是在瀏覽器外執行,它是一個事件驅動非同步I/O單程序的服務端JS環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,效能非常好。它使用新的 ECMAScript標準,不必等待所有使用者更新其瀏覽器,可以通過更改其版本來決定要使用新的標準特性。

注意:

瀏覽器是JS的前端執行環境。

Node.js是JS的後端執行環境,在後端中執行無法呼叫 DOM 和 BOM 等瀏覽器內建 API。

nodejs呼叫服務檢視伺服器相關api gulp基礎node環境

node應用場景

建立應用服務

web開發(後端)

介面開發(小程式)

客戶端應用工具gulp、webpack、vue腳手架、react腳手架、小程式

模組化

NodeJs基於Commonjs模組化開發的規範,它定義一個JS檔案就稱之為一個模組

commonJS 使用 exports 匯出模組, require 匯入模組。

只有將變數匯出之後,其他檔案才能能夠使用。

1  //將模組進行匯入
2  module.exports.time = time

具體規範如下:

1、如果 js 檔案中存在 exports 或 require,該 js 檔案 是一個模組。

2、模組內的所有程式碼均為 隱藏程式碼,包括 全域性變數、全域性函式,這些全域性的內容 均不應該對全域性變數造成汙染。

3、如果一個模組需要暴露一些API給外部使用,需要通過exports 匯出,exports 是一個空物件,你可以為該物件新增任何需要匯出的內容。

4、如果一個模組需要匯入其他模組,通過require 實現,require 是一個函式,傳入模組的路徑即可返回該模組匯出的整個內容。

nodejs對commonJS的實現

為了實現CommonJS 規範, nodejs 對模組 做出了以下處理

1、為了保證高效的執行,進行載入必要的模組。nodejs 執行到require 函式時才會載入並執行。

2、為了隱藏模組中的程式碼,nodejs 執行模組時,會將模組中的所有放到一個函式中執行,以保證不汙染全域性變數。

3、為了保證順利的匯出模組內容,nodejs 做了以下處理:

1. 在模組開始執行前,初始化一個值 module.exports = {}

2.module.exports是模組匯出之一

3.為了方便開發者便捷的匯出,nodejs 在初始化 完成module.exports後,有聲明瞭一個變數exports = module.exports

4.為了避免反覆載入同一個模組,nodejs 預設開啟了模組快取功能,如果已經載入過的模組,則會自動使用之前的匯出結果。

nodejs的模組型別

  • 核心(內建)模組 - 安裝nodejs自帶的模組
  • 第三方模組 - 需要手動通過(npm/yarn)來進行安裝
  • 自定義模組 - 開發者自己編寫開發
modelue.exports/export  //匯出
require(模組名稱) //匯入

nodejs的安裝

nodejs環境安裝非常便捷,直接可通過官網地址,下載對應的安裝軟體包即可安裝使用。

如果在工作中有多個node環境的切換,可以安裝ndoe環境管理工具NVM:https://github.com/coreybutler/nvm-windows/releases

nvm可以讓你的電腦中有N多個node版本。