在您的 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。 此參數會儲存至 devDependenciespackage.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。 當您想要移除多個相依性而不執行每個相依性的卸載時,剪除很有用。 若要剪除:
    1. 從中的 package.json相依性或 devDependencies 中刪除專案。
    2. run npm prune.