Node.js 與 npm 簡介#
node.js#
Node.js 是一個基於 Chrome V8 JavaScript 引擎的開放原始碼、跨平台的 JavaScript 執行環境。
特點:#
- 非同步事件驅動架構:使用非同步 I/O 模型,能有效處理大量的並行連線。
- 輕量且高效:是建立於事件迴圈與非阻塞 I/O 的基礎上,因此非常適合即時應用。
- 統一語言:開發者可以用同一種語言(JavaScript)來撰寫前端和後端程式碼。
npm#
npm(Node Package Manager)是 Node.js 的套件管理工具,讓 Node.js 的開發者,直接利用、擴充線上的第三方套件庫(packages registry),加速軟體專案的開發。
功能:#
- 安裝套件:可以從線上的 npm 套件庫中安裝數以萬計的 JavaScript 套件。
- 版本管理:管理套件版本,確保相依性的一致性。
- 腳本執行:透過
package.json
定義指令腳本,執行開發或部署任務。 - 本地與全域安裝:套件可依需求安裝在專案目錄或全域環境。
常見指令:#
-
安裝 Node.js 和 npm(安裝 Node.js 後會自動包含 npm)。
-
初始化專案:
或快速初始化:
package name: # 專案名稱: 只能小寫字母、不能有空白、不能使用 node 或 npm 字眼 version: # 版本: 定義專案的版本號碼,格式為 主版本.次版本.修訂版 description: # 描述: 簡短定義專案用途或功能 entry point: # 入口點: 專案的主要檔案 test command: # 測試指令: 測試專案時執行的命令 git repository: # 專案的 git 的 URL keywords: # 關鍵字: 與專案有關的關鍵字,有助於在 npm 套件庫中搜尋 author: # 作者: 專案作者 license: # 授權: 專案的授權方式
-
安裝套件:
- 本地安裝(專案中使用)
- 全域安裝(全域命令使用)
- 下載完成之後會多個 package-lock.json 檔案跟 node_modules 資料夾
- package-lock.json
- node_modules
-
卸載套件:
-
更新套件:
-
執行腳本: 在
package.json
中定義腳本後,執行:
開始使用 Node.js 與 npm#
- 下載與安裝 Node.js
-
推薦選擇 LTS(Long Term Support)版本。
-
驗證安裝:
- 檢查 Node.js 版本:
-
檢查 npm 版本:
-
創建第一個 Node.js 應用程式: 建立一個名為
app.js
的檔案: -
執行應用程式: