NPM 是甚麼?

閱讀時間約 5 分鐘
此筆記僅以個人清楚理解方式記錄

簡介

NPM 全稱為 ( Node Package Manager ),直接翻譯就是 " node套件管理器 " ,

是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,

而 Node.js 則是能讓 JavaScript 實現在後端伺服器運行的一種環境,

我們可以透過 npm install xxx 來安裝他人製作好的模組來給自己的專案使用

[node.js 官網](https://nodejs.org/en)

安裝好之後我們可以在終端機查詢當前版本號

  • node -v node 版本
  • npm -v npm 版本


建立

npm init 為建立 npm 專案初始化

  • name 專案名稱
  • version 版本號
  • description 專案描述
  • entry point 檔案切入口
  • test command 有無測試
  • git repository 有無 Git 資源庫
  • keywords 查詢關鍵字
  • author 作者
  • license 是否開源

建立完會在當前資料夾產生 package.json

{
"name": "git-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}


安裝模組

我們以 Express 來說明,可以先看看該套件 npm 介紹

Express 套件

Express 套件

上面能看到

  • 安裝指令 install i express
  • 官網網址 expressjs.com/
  • 週下載次數 Weekly Downloads
  • 當前版本 Version
  • 授權 License

以此基本可見數據,我們可以知曉該套件是否活耀,並判斷是否要拿來使用

安裝完之後我們可以看到 package.json 多了 dependencies

{
"name": "git-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.19.2"
}
}


而在專案資料夾內也多出了 node_modules 資料夾,是其他附加的套件


node_modules

node_modules


套件版本號

查詢套件清單指令

npm list


我們剛裝的 Express 為 ^4.19.2 其中個數字又有不同的涵義在

  • 4 : 主要版本 (大改版)
  • 19 : 次要版本 (小改版)
  • 2 : 修正 (維修、處理異常)
  • ^ : 鎖住大版本,自動更新小版本 4.x.x (不自動更新大阪本)
  • ~ : 鎖住大小版本,只更新 Bug 的修正 4.19.x
  • latest : 永遠保持最新版 (極少人使用,避免一更新整組壞掉)


  • '都沒寫' : 完全要符合該版本
  • > : 必須高於此版本
  • >= : 高於此版本,至少要相同
  • < : 必須低過此版本
  • <= : 要低於此版本,最高相同不能再高


縮寫

安裝

  • npm install xxx --save  npm i xxx
  • npm install xxx --save-dev  npm i xxx -D

移除

  • npm uninstall xxx --save  npm un xxx
  • npm uninstall xxx --save-dev  npm un xxx -D


後贅詞意

--save 生產環境,上線時需要依賴的套件

  • express
  • bootstrap5

--save-dev 開發環境,開發過程輔助

  • sass
  • jshint

-g 裝在本機全域,如果專案內找不到套件,會往全域找

  • nodeman
  • json-server


  • joker
  • 2024/05/16
3會員
19內容數
是一隻喜愛前端勇往直前的霹靂酷樂貓
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
npm | Node.jsnpm(全名 Node Package Manager,node套件管理器)
Thumbnail
avatar
阿榮
2024-03-24
Babel & Webpack & NPM – React 白話文運動 07 前言這一篇會針對三個名詞做一些解釋,這些名詞是建立 React 專案,需要會的工具,包含了:Babel 是什麼?Webpack 是什麼?Npm 是什麼?當然主要介紹的是使用這些工具的概念,但是還是有其他工具可以做選擇,例如:Npm 之於 Yarn。這一篇會針對三個名詞做一些解釋,這些名詞是建立 R
Thumbnail
avatar
Hogan |軟體工程師隨筆
2023-12-11
當出現 npm ERR! Could not resolve dependency 時怎麼辦?為什麼會遇到?NPM 時遇到版本相依的衝突,原因是什麼,提供四種解決方式
Thumbnail
avatar
卡比的工程師之旅
2023-11-24
Node.js 學習筆記(五):NPM 宇宙 🌏如何善用 NPM 安裝現成套件,提高開發效率
Thumbnail
avatar
蕭宇廷
2023-11-23
npm use local packageWhen you want to use your non-publish yet package in your other project, you need to do these: step 1 go to package and run : npm link packageNameHe
avatar
JHIHLEI LIN
2023-11-09
npm 專案版號管理指令npm 做為 node 套件版本管理工具,今天來學習如何使用 npm 升級 package.json 版號管理,可以對一個專案版號管理更加制式化 major 目標升級版號 指令 npm version --new-version major 範例 v1.0.0 -> v2.0.0 mi
Thumbnail
avatar
Tim Bai
2023-11-06
[前端]使用 npm 來編譯 SCSS使用 SCSS 來管理 CSS 可以說是每次建置專案的起手式了,加上很常搭配客製化 Bootstrap 來開發,因此決定記錄下引入過程、遇到的錯誤訊息與解決辦法,以節省日後建置時間,如果對你也有幫助,那就太好了。
Thumbnail
avatar
YJ
2023-10-16
[前端]終端機指令紀錄_使用 npm 將 Bootstrap5 與 Sass 引入專案這篇文章更偏向純紀錄性質,方便日後有需要時直接複製相同指令來完成 Bootstrap 與 Sass 的引入,也會做成一個專案起手式的模板放在 Github ,未來在建置新專案時可以透過直接複製專案,來省去前面重複的這過程。
Thumbnail
avatar
YJ
2023-10-16
【前端工具】套件的管理者 - npmnpm 是一個套件管理工具,開發中經常需要使用第三方套件,npm 是可以用來管理很多套件的工具,這邊指的套件可能是 Library, 框架, 工具等,例如 Bootstrap, jQuery, Vue.js, babel 都可以統一由它管理。
Thumbnail
avatar
傑米
2023-05-01
介紹最新的 npm Dependency Selector Syntax(相依套件的選擇器語法)`npm query` 是從 npm v8.16.0 開始最新的指令, 他接收一個 Dependency Selector(如同在 Dependency Selector Syntax Specification 所定義的) 然後回傳一個從你的專案的 dependencies 篩選過後的 JSON
Thumbnail
avatar
Chaol Liu
2022-08-06