設定 package.json
歡迎來到使用 npm 和套件管理進行 Node.js 專案管理的世界。 讓我們深入了解封裝的基本概念以及它如何增強您的開發流程。
封裝與套件管理
NPM 是 Node.js 的預設套件管理員,是一項可將外部程式碼合併到專案中的秘密武器。 就像擁有私人助理一樣,可以幫助您更快、更有效率地建置應用程式。
封裝就像是將您的程式碼包裝成禮物一樣,方便散發。 它會將您的程式碼及其相依項目整齊地組合到一個套件中,方便其他人輕鬆安裝和使用。 套件管理是處理這些套件的藝術,它牽涉到:
- package.json 檔案,您的專案藍圖。 它包含您專案的中繼資料,並負責管理相依項目和套件檔案。
- npm CLI 工具,這是從 npm 登錄安裝和管理套件的私人助手。
- npm 登錄,這是可供專案使用的公用套件寶庫。
建立 package.json
建立 package.json
就像執行 npm init
命令一樣簡單。 有兩種方式可以完成此動作:
npm init
:此命令就像一位友善的指導者,帶領您逐步完成流程,並詢問您專案的詳細資訊,例如名稱、版本和描述。npm init -y
:此命令是 npm init 的快速訓練版本。 它會快速跳過問題,並為您填入預設值。
這是您將產生的 package.json
檔案的搶先預覽。
{
"name": "my project",
"version": "1.0.0",
"description": "",
"main": "script.js",
"dependencies": {},
"devDependencies": {},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
了解 package.json 檔案區域
將 package.json
檔案想成是一個寶箱,裡面裝滿了珍貴的寶石,能讓您的專案閃閃發光。 這些寶石是 package.json
檔案中的屬性,它們分為三個主要類別:
- 中繼資訊:這些屬性就像皇冠上的寶石,定義專案的中繼資訊。 它們包括專案名稱、描述、作者、關鍵字等等。
- 相依性:這些是金幣和銀幣,代表專案使用的套件。
dependencies
和devDependencies
屬性擁有這些寶藏。 隨著我們進一步深入,您將學習如何使用這些屬性來安裝、更新和管理您的相依項目。 - 指令碼:這些是讓專案工作執行的終端命令。 您可以列出用於執行工作的指令碼,例如 start、build、test 和 lint。
使用指令碼加速工作
在您的 package.json
檔案中,您應該至少包含四個常用指令碼:
start
:此指令碼可讓專案生動起來。 例如,它可能會使用命令node ./src/index.js
。build
:此指令碼為您的專案準備盛大的首次亮相。 例如,它可能會將 TypeScript 轉換成 JavaScript。test
:此指令碼會檢查專案的健康情況,通常是使用測試套件。lint
:此指令碼會整理您的程式碼,使用類似 ESLint 的工具檢查樣式和格式問題。
這些指令碼名稱就像是魔法咒語,在開發人員社群中廣為人知,對於保持專案的組織性至關重要。
標準化指令碼名稱
在您的 package.json 檔案中,指令碼是由動作和命令來定義的:
"scripts" : {
"<action>" : "<command>"
}
以下是範例:
"scripts" : {
"start" : "node ./dist/index.js",
"test": "jest",
"build": "tsc",
"lint": "eslint"
}
執行指令碼
若要在終端中執行指令碼,請輸入命令 npm run <action>
。 例如: npm run lint
。
start
和 test
動作很特別,因為您可以省略命令中的單字 run
。 您可以輸入 npm start
,而不是輸入命令 npm run start
。
使用預先定義的開發環境
此訓練模組會在瀏覽器中或本機電腦提供開發容器。 此容器提供所有必要的環境,因此您可以使用此訓練課程模組,而不需要安裝 IDE 或 Node.js。 您不需要了解容器的任何知識就能完成此訓練課程模組。