在您的 Node.js 專案中新增套件
Node.js 有內建套件,適用於檔案管理和 HTTP 處理等工作。 但是 NPM 登錄上也提供大量的第三方套件。
何時及如何選取 npm 套件
身為 Tailwind Traders 的新開發人員,您必須將功能新增至專案。 您可以自行撰寫程式代碼,但決定使用現有的套件。 此開發決策是常見的案例。
何時應該使用現有的套件? 需要考慮的因素有兩項:
- 質量:針對安全性等工作,使用已建立完善的套件可確保您遵循最佳做法並處理邊緣案例。
- 效率:撰寫您自己的程式代碼需要時間。 使用現有的套件可以節省大量精力。
- 維護:連結庫需要更新和錯誤修正。 讓開放原始碼小組處理此作業通常更有效率。
開發人員可以從各種來源尋找並下載套件,例如:
- 登錄:登錄是套件的集合,例如 npm 登錄。 您也可以裝載自己的登錄。
- 存放庫:您可以直接從 GitHub URL 安裝套件。
- 檔案:您可以從本機資料夾或壓縮檔安裝套件,以用於測試您自己的套件。
- 目錄:您也可以直接從目錄安裝。
選取套件之後,請檢查其相依性以考慮下列因素:
- 大小:更多相依性表示較大的使用量。 如果您有頻寬或硬體限制,使用量大小很重要。 請記住,安裝套件也會安裝其相依性。 這可能會導致大型node_modules資料夾。
- 人氣:套件的受歡迎程度可以指出其品質。
- 授權:如果您打算銷售軟體,請確定所有相依性套件授權都允許重複使用和轉售。
- 主動維護:避免相依性已被取代或很少更新。
若要深入瞭解套件,請流覽其 NPM 及其 GitHub 存放庫上的套件頁面。 您也可以使用 npm 命令: npm view <package name>
。
如何安裝套件
若要安裝套件,請使用 與 Node.js 一起安裝的 npm CLI 。 您可以使用終端機中的 命令,將套件新增至 Node.js 專案 npm install
。
npm install <name of package>
當您執行 install
命令時,命令行工具會連線到全域登錄、擷取程式代碼,並將它 node_modules
放在專案根目錄的資料夾。
安裝命令的一些 常見參數 包括:
- 針對僅限開發套件,請使用
--save-dev
。 此參數會儲存至devDependencies
的package.json
屬性。 這些相依性通常是格式、lint、build、transpile 和測試工具。 - 針對僅限生產環境的套件,請使用
--production
。 此參數會排除僅限開發套件。 - 針對全域可用的工具,請使用
-g
。 命令行工具通常會全域安裝,而不是匯入專案。 全域相依性會安裝在全系統目錄中,而不是在 proejct 層級node_modules
中。 不過,全域套件可能會讓您的系統雜亂無章。 此命令npx
會藉由暫時安裝套件來解決此問題。 使用npx <name>
來擷取封裝、執行它,然後移除它。
安裝之後,您的專案目錄看起來會像下列範例:
package.json
node_modules/
<name of dependency>/
<files included in the dependency>
src
index.js
npm CLI 命令
npm 命令行工具有相當多的命令,可協助您完成安裝套件、撰寫套件及初始化 Node.js 專案等工作。
NPM 命令分為類別:
- 管理相依性:用於安裝、更新和移除套件的命令。
- 執行文稿:用於管理開發流程的命令,例如測試和建置程序代碼。
- 設定環境:設定安裝路徑和套件來源的命令。
- 撰寫和發佈套件:用於建立和發佈套件的命令。
如果您需要所有命令的詳細清單,請在終端機中輸入下列命令:
npm --help
確認安裝
若要檢視資料夾中 package.json
的內容,請使用 npm list
。 命令 npm list
會列出已安裝之 node_modules
目錄中的所有套件。 每個已安裝的套件都已安裝其所有相依性。
list
因為命令可能會導致長清單,因此很難理解,所以您可以使用 list 命令,以不同的深度列出套件。 在深度 0
時,此命令會列出和 package.json 的 dependencies
區段中相同的內容。
npm list --depth=<depth>
如果您已安裝 Jest 套件, npm list --depth=0
會產生類似此輸出的輸出:
├── jest@26.0.1
清除相依性
如果您不再需要套件,請將其移除。 拿掉相依性可讓專案保持乾淨,並節省空間。 這項清除對於 Angular、React 或 Vue 等單頁應用程式(SPA)特別重要。 這些應用程式會將程式代碼組合並壓縮成提供給瀏覽器的檔案。 檔案越大,載入所需的時間就越長,這可能會阻止使用者。
有兩種方式可以清除您不再需要的相依性:
- 解除安裝:若要將套件解除安裝,請執行
npm uninstall <name of dependency>
。 此命令會從package.json
指令清單檔案和 node_modules 資料夾中移除套件。 - 剪除:使用
npm prune
從 移除所有未列出的相依性node_modules
。 當您想要移除多個相依性而不執行每個相依性的卸載時,剪除很有用。 若要剪除:- 從中的
package.json
相依性或 devDependencies 中刪除專案。 run npm prune
.
- 從中的