【前端工具】套件的管理者 - npm

閱讀時間約 5 分鐘
有些專案需要用到很多套件,需要一個個去找套件的官網,然後找到 Get started 頁面,再想辦法從大量的文字中找到下載連結,接著把下載好的套件移到專案的某個資料夾裡,當套件下載越來越多以後,說不定還會遇到一些奇怪的衝突。
天啊,真的好麻煩!有沒有方法可以直接把套件下載下來,統一放到一個資料夾管理呢?不妨考慮看看 npm ,讓它幫助你解決這些煩惱吧!

npm 是什麼?

全名為 Node Package Manager,是一個套件管理工具,以 JavaScript 編寫而成,開發中經常需要使用第三方套件,就可以使用 npm 管理這些套件,這邊指的套件可能是 Library、框架、工具等,例如 Bootstrap, jQuery, Vue.js, babel 都可以統一由 npm 管理。

為什麼要用 npm?

一個工具的出現,通常都是因為它解決了某些問題,也可以說是它的優點,npm 優點如下:
  • 當有套件需要安裝時,不需要自行到套件的官網或 GitHub 查找,省下安裝時間
  • 統一管理套件,避免套件讓專案中的檔案變得雜亂
  • 不需要「自行」重新下載專案中使用的所有套件
  • 當多個套件的相依套件有重複或版本不相容時,npm 會避免重複下載和解決衝突
什麼是相依套件?
該套件有再使用到其他套件,例如 Bootstrap 4 需要安裝 jQuery 和 popper.js

安裝 npm

  • 安裝 node.js,裡面就會包含 npm,請選擇 LTS 版本安裝
  • 在 CLI 介面輸入指令,確認是否安裝成功,有出現版本號就完成了,就是這麼簡單!
查詢 node 是否安裝成功  
node -v
查詢 npm 是否安裝成功
npm -v

在全新專案中使用 npm

npm 初始化

打開 CLI 介面,路徑來到專案資料夾,並執行指令:
npm init
上面的指令會需要填寫專案相關內容,如果懶得填寫,可以下這個指令快速略過:
npm init -y
接著會發現專案中生成 package.json 檔案,內容如下:

安裝套件

可以到 npm 官網 查詢套件安裝指令
npm install 套件名稱
  • 縮寫
npm i 套件名稱
需要注意的是,npm v5.0.0 以後該指令等同於以下指令:
npm install 套件名稱 --save
代表的是將套件安裝在專案環境中的已發布環境,npm v5.0.0 之前,如果沒有寫 --save,package.json 裡的 dependencies 就不會紀錄安裝的套件。在 v5.0.0 之後變成預設指令,所以就算不寫 --save 意思也是相同的,可以注意一下自己的 npm 版本號,或是統一加上 --save 比較保險。
執行指令後會發現專案裡出現了這些更動:
  1. 出現 node_module 資料夾:安裝的套件和相依套件會放到這裡
  2. 出現 package-lock.json:專案實際安裝的套件版本,通常不會手動更動
  3. package.json 檔案內容有更動:dependencies 出現該套件和版本號

其他安裝方式

  • 安裝指定版本
npm install 套件名稱@版本號
  • 安裝在全域環境
npm install 套件名稱 -g;
  • 安裝在專案環境中的已發布環境
npm install 套件名稱 --save
在 npm v5.0.0 之後變成預設指令,所以就算不寫 --save 意思也是相同的
npm install 套件名稱
  • 安裝在專案環境中的開發中環境
像是編譯程式碼的套件,在已發布環境就不需要了,比如 babel, scss 等套件
npm install 套件名稱 –save-dev

在既有專案中使用 npm

例如從 GitHub Clone 下來的 Repository,看它有沒有 package-lock.json 檔案,只要執行以下指令:
npm install
全部套件都會依照 package.json 檔案裡的 dependencies 描述安裝回來了,是不是很神奇!

npm 其他常見指令

移除套件

npm uninstall 套件名稱
  • 縮寫
npm uni 套件名稱

查看版本

  • 查看 npm 本身的版本
npm -v
  • 查看套件版本
npm 套件名稱 -v

更新套件

npm update 套件名稱

查看目前安裝的套件

npm list
  • 縮寫
npm ls

注意事項

  • node_modules 檔案夾「千萬不要」進版控!如果是用 git 版控的話,想要避免該檔案夾進入版控,只要在專案根目錄中新增一支 .gitignore 檔案,並寫入以下內容:
node_modules
  • 注意各個套件的安全性,之前沒有使用過的還是要查詢一下之前是否有出現安全性問題。
今天就介紹到這裡,如果撰寫內容有誤歡迎告知。
為什麼會看到廣告
avatar-img
7會員
30內容數
正在一點一滴學習程式,相信知識量總有一天會匯聚成大海,目前專門研究前端中。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
在前端開發的世界中,有許多工具和技術能幫助我們有效地建立、維護和優化應用。本文將探討如何下載Node.js、使用CDN獲取套件、使用npm下載和管理套件、以及打包與tree-shaking的概念,這部分是前端很常會使用到的喔。 下載Node.js Node.js是前端開發中不可或缺的工具,它
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
有一天有位大神問我你知道npm yarn pnpm bun 之間的差別?我突然楞神一下!!!! 好吧我從未想過這個問題於是我開始研究 使用方式:與其他工具類似,通過命令行使用,但具有自己的一些特定命令和功能。 適合情境:目前在市場上使用較少,主要在一些追求性能和速度優化的專案中或者對於新技
Thumbnail
本文檔介紹了在Swift中使用套件的詳細方法,包括如何引用第三方套件和自定義模組,如何創建自定義套件,以及一些常見的Swift套件。這些套件可以幫助開發者快速添加功能到項目中,提高開發效率和程式碼品質。
※ 補充說明: ※ npm 常用指令: ◦ npm init–y:快速初始化一個新的 Node.js 並建立一個 package.json 文件的命令。 ◦ npm info 套件名稱 version:快速查詢指定 npm 套件的最新版本號。 ◦ npm install套件名稱:用來安裝
Thumbnail
在 TypeScript 中,套件是模組化代碼的集合,可以提高代碼的可重用性和可維護性。常見的套件包括各種庫和框架,如 lodash、express 等。以下是有關引用套件、自定義套件和常見套件的詳細介紹。
Thumbnail
套件(Package)是將程式或程式庫進行組織、分發和共享的一種方式。在軟體開發中,套件通常包含了相關的程式碼、資源文件和元數據,並提供了統一的名稱空間和版本管理。
Thumbnail
NPM 全稱為 ( Node Package Manager ),直接翻譯就是 "node套件管理器" ,是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,而 Node.js 則是能讓 JavaScript 語法實現在後端伺服器運行的一種環境,可謂是前端開發的好朋友。
Thumbnail
Vite 是由 Vue 開發者 Evan You 所開發出來,用來加快、優化程式碼打包的工具,在這裡我們不免會需要提到大部分前端開發者可能都會聽過、使用過的前端工具:Webpack。 在那之前,我們先來聊聊為什麼前端會需要所謂的打包工具呢?
Thumbnail
npm(全名 Node Package Manager,node套件管理器)
Thumbnail
在前端開發的世界中,有許多工具和技術能幫助我們有效地建立、維護和優化應用。本文將探討如何下載Node.js、使用CDN獲取套件、使用npm下載和管理套件、以及打包與tree-shaking的概念,這部分是前端很常會使用到的喔。 下載Node.js Node.js是前端開發中不可或缺的工具,它
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
有一天有位大神問我你知道npm yarn pnpm bun 之間的差別?我突然楞神一下!!!! 好吧我從未想過這個問題於是我開始研究 使用方式:與其他工具類似,通過命令行使用,但具有自己的一些特定命令和功能。 適合情境:目前在市場上使用較少,主要在一些追求性能和速度優化的專案中或者對於新技
Thumbnail
本文檔介紹了在Swift中使用套件的詳細方法,包括如何引用第三方套件和自定義模組,如何創建自定義套件,以及一些常見的Swift套件。這些套件可以幫助開發者快速添加功能到項目中,提高開發效率和程式碼品質。
※ 補充說明: ※ npm 常用指令: ◦ npm init–y:快速初始化一個新的 Node.js 並建立一個 package.json 文件的命令。 ◦ npm info 套件名稱 version:快速查詢指定 npm 套件的最新版本號。 ◦ npm install套件名稱:用來安裝
Thumbnail
在 TypeScript 中,套件是模組化代碼的集合,可以提高代碼的可重用性和可維護性。常見的套件包括各種庫和框架,如 lodash、express 等。以下是有關引用套件、自定義套件和常見套件的詳細介紹。
Thumbnail
套件(Package)是將程式或程式庫進行組織、分發和共享的一種方式。在軟體開發中,套件通常包含了相關的程式碼、資源文件和元數據,並提供了統一的名稱空間和版本管理。
Thumbnail
NPM 全稱為 ( Node Package Manager ),直接翻譯就是 "node套件管理器" ,是 Node.js 預設的,當下載 Node.js 時也會一並下載到本機端並安裝,而 Node.js 則是能讓 JavaScript 語法實現在後端伺服器運行的一種環境,可謂是前端開發的好朋友。
Thumbnail
Vite 是由 Vue 開發者 Evan You 所開發出來,用來加快、優化程式碼打包的工具,在這裡我們不免會需要提到大部分前端開發者可能都會聽過、使用過的前端工具:Webpack。 在那之前,我們先來聊聊為什麼前端會需要所謂的打包工具呢?
Thumbnail
npm(全名 Node Package Manager,node套件管理器)