第6天認真學習 Node.js - 認識 NPM

更新 發佈閱讀 4 分鐘

前言

NPM 全名 Node Package Manager,是 Node.js 內建的套件管理工具。開發者可以透過它安裝、管理、甚至分享各種第三方套件,讓專案開發不必每次都從零開始。

在安裝 Node.js 會一起連帶 NPM 也進行安裝

npm -v #檢查版本

建立自己的 package.json

當你用 Node.js 開發專案,NPM 會透過一個檔案來管理套件專案資訊,這個檔案就是package.json。

在專案資料夾輸入:

npm init

建立過程一步一步,問你專案的資訊:

  • name:專案名稱
  • version:版本號
  • description:簡單描述
  • entry point:程式進入點(通常是 index.js
  • author:作者名稱
  • license:授權方式

NPM 安裝套件流程

以安裝Express為例: npm: express
我們可以看到套件資訊:版本號、儲存庫、每週下載次數、授權等。

安裝指令:

npm i express

Step1. 開啟命令提示字元
Step2. 移動至該專案位置
Step3. 此狀態會分空專案、已有專案
空專案
npm initnpm i express
已有專案
npm i express
確定是否安裝:
1. node_modules 裡面有 express 資料夾
2. package.json 查看

package.json畫面

package.json畫面

Step4. 使用expressrequirre(’express’);

NPM 版本號介紹

package.json 常看到:

  • 1.2.3 : 1 主要版本號,2次要版本號 ,3 BUG修正
  • ^1.2.3:允許自動更新次要版號修正版 (1.x.x)
  • ~1.2.3:只允許更新修正版 (1.2.x)
  • 1.2.3鎖定固定版本
  • latest: 最新版本

npm install 三大參數

通常不會把node_modules龐大資料做版本控制,這是就會由 pagekage.json 參考資料得知需要安裝哪些模組,使用 npm install 就可把模組都安裝。

常見參數:

  • -save(預設):寫進 dependencies,專案正式需要用到
  • -save-dev:寫進 devDependencies,只在開發環境用,例如測試工具
  • -g:全域安裝,可以在任何地方使用

nodemon 套件介紹

主要功能是:當你修改專案中的檔案(例如.js,.ts,.json等)後,會自動監聽變化並重新啟動應用程式

這樣就不用每次手動停止/重啟伺服器,大幅提升開發效率
👉 適合用在:Express、Koa、NestJS 等 Node.js 後端專案。
✅ 減少重複動作
✅ 開發體驗更流暢
✅ 支援各種副檔名(不只.js

全域安裝

npm install -g nodemon

安裝完成後,可以直接執行:

nodemon index.js

node 指令比較

raw-image

和 前端熱更新(HMR) 比較

💡 nodemon 常常被拿來跟前端的 熱更新 (HMR, Hot Module Replacement) 比喻,但原理其實不太一樣。

  • 前端 HMR:只會更新改動過的模組,不需要整頁重整,所以像輸入框內容、頁面狀態通常還能保留。
  • nodemon:偵測到檔案異動後,會直接 整個 Node.js 應用程式重啟,所有狀態都會被清空。

👉 換句話說,nodemon 更像是「自動幫你重新整理後端伺服器」的工具,方便開發,但體驗和效能上比不上前端的 HMR。

留言
avatar-img
邁向躺平的工程師 Leo
0會員
6內容數
天生宅習慣的我,與外面繁忙的工作環境格格不入,因此選擇了能在辦公室內進行的軟體工程師職業。雖然室內的空間不如外面那麼廣闊,但在舒適的環境中,我可以心無旁鶩地靜下心來,專注於研發與思考。這條轉職路線,正是天生為我開好的選擇,成為了我日常的 RD 養成之旅。
2025/08/29
前言 在開發 Node.js 專案時,我們很常需要處理「路徑」: - 要找到一個檔案在哪裡 - 要讀取設定檔 - 要指定靜態檔案位置(像是 HTML、圖片) 這邊,Node.js幫我準備了兩個方便的全域變數:__dirname 和 __filename,與超好用的核心模組 path。 __di
Thumbnail
2025/08/29
前言 在開發 Node.js 專案時,我們很常需要處理「路徑」: - 要找到一個檔案在哪裡 - 要讀取設定檔 - 要指定靜態檔案位置(像是 HTML、圖片) 這邊,Node.js幫我準備了兩個方便的全域變數:__dirname 和 __filename,與超好用的核心模組 path。 __di
Thumbnail
2025/08/26
這篇文章介紹 Node.js 內建的 HTTP 模組,說明如何使用 createServer、request、response 和 listen 方法建立 Web Server,並提供測試和除錯技巧。
Thumbnail
2025/08/26
這篇文章介紹 Node.js 內建的 HTTP 模組,說明如何使用 createServer、request、response 和 listen 方法建立 Web Server,並提供測試和除錯技巧。
Thumbnail
2025/08/25
這篇文章說明如何在 Node.js 中使用 require() 與 module.exports (以及 exports) 來設計模組,並在 app.js 中載入 data.js 模組。文中包含步驟、進階用法、exports 與 module.exports 的比較,以及注意事項。
Thumbnail
2025/08/25
這篇文章說明如何在 Node.js 中使用 require() 與 module.exports (以及 exports) 來設計模組,並在 app.js 中載入 data.js 模組。文中包含步驟、進階用法、exports 與 module.exports 的比較,以及注意事項。
Thumbnail
看更多
你可能也想看
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
有一天有位大神問我你知道npm yarn pnpm bun 之間的差別?我突然楞神一下!!!! 好吧我從未想過這個問題於是我開始研究 使用方式:與其他工具類似,通過命令行使用,但具有自己的一些特定命令和功能。 適合情境:目前在市場上使用較少,主要在一些追求性能和速度優化的專案中或者對於新技
Thumbnail
有一天有位大神問我你知道npm yarn pnpm bun 之間的差別?我突然楞神一下!!!! 好吧我從未想過這個問題於是我開始研究 使用方式:與其他工具類似,通過命令行使用,但具有自己的一些特定命令和功能。 適合情境:目前在市場上使用較少,主要在一些追求性能和速度優化的專案中或者對於新技
Thumbnail
Node.js是一個JavaScript運行環境。它使用了一個非阻塞、事件驅動的I/O模型,使其非常適合用於數據密集型的即時應用程序。簡單來說,Node.js允許你使用JavaScript來編寫伺服器端代碼。 nvm 安裝nvm Windows : 點擊 Releases · coreybut
Thumbnail
Node.js是一個JavaScript運行環境。它使用了一個非阻塞、事件驅動的I/O模型,使其非常適合用於數據密集型的即時應用程序。簡單來說,Node.js允許你使用JavaScript來編寫伺服器端代碼。 nvm 安裝nvm Windows : 點擊 Releases · coreybut
Thumbnail
本章節將引導你如何建立一個TypeScript開發環境,這包括安裝Node.js、npm和TypeScript,建立一個TypeScript項目,設置編輯器,以及編寫和編譯TypeScript代碼。在完成這些步驟之後,你將能夠編寫、編譯和運行TypeScript代碼。
Thumbnail
本章節將引導你如何建立一個TypeScript開發環境,這包括安裝Node.js、npm和TypeScript,建立一個TypeScript項目,設置編輯器,以及編寫和編譯TypeScript代碼。在完成這些步驟之後,你將能夠編寫、編譯和運行TypeScript代碼。
Thumbnail
套件(Package)是將程式或程式庫進行組織、分發和共享的一種方式。在軟體開發中,套件通常包含了相關的程式碼、資源文件和元數據,並提供了統一的名稱空間和版本管理。
Thumbnail
套件(Package)是將程式或程式庫進行組織、分發和共享的一種方式。在軟體開發中,套件通常包含了相關的程式碼、資源文件和元數據,並提供了統一的名稱空間和版本管理。
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
NPM 全稱為 ( Node Package Manager ),直接翻譯就是 "node套件管理器" ,是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,而 Node.js 則是能讓 JavaScript 語法實現在後端伺服器運行的一種環境,可謂是前端開發的好朋友。
Thumbnail
NPM 全稱為 ( Node Package Manager ),直接翻譯就是 "node套件管理器" ,是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,而 Node.js 則是能讓 JavaScript 語法實現在後端伺服器運行的一種環境,可謂是前端開發的好朋友。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
Express 是一個流行的 web 框架,使用 JavsScript 實現,執行在 node 環境上,主要用來寫後端應用。
Thumbnail
npm(全名 Node Package Manager,node套件管理器)
Thumbnail
npm(全名 Node Package Manager,node套件管理器)
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News