目錄
建立 package.json 檔案
目錄
你可以新增一個 package.json
檔案到你的套件中,讓其他人可以輕鬆管理和安裝。發布到註冊表的套件必須包含一個 package.json
檔案。
一個 package.json
檔案
- 列出你的專案所依賴的套件
- 使用 語意化版本控制規則 指定專案可使用的套件版本
- 讓您的建置可重複執行,因此更容易與其他開發人員分享
注意:若要讓您的套件更容易在 npm 網站上找到,我們建議在 package.json
檔案中加入自訂 description
。
package.json
欄位
必要的 name
和 version
欄位
package.json
檔案必須包含 "name"
和 "version"
欄位。
"name"
欄位包含套件名稱,必須是小寫且為單字,且可以包含連字號和底線。
"version"
欄位必須採用 x.x.x
格式,並遵循 語意化版本控制指南。
Author 欄位
如果您想在 "author"
欄位中包含套件作者資訊,請使用下列格式(電子郵件和網站皆為選填)
您的姓名 <email@example.com> (http://example.com)
範例
{"name": "my-awesome-package","version": "1.0.0","author": "Your Name <email@example.com>"}
建立新的 package.json
檔案
您可以透過執行 CLI 問卷或建立預設 package.json
檔案來建立 package.json
檔案。
執行 CLI 問卷
若要建立包含您提供值的 package.json
檔案,請使用 npm init
指令。
-
在命令列中,導覽至套件的根目錄。
cd /path/to/package
-
執行下列指令
npm init
-
回答命令列問卷中的問題。
自訂 package.json
問卷
如果您預期會建立許多 package.json
檔案,您可以自訂 init
程序中詢問的問題和建立的欄位,讓所有 package.json
檔案都包含一套標準資訊。
-
在您的主目錄中,建立一個名為
.npm-init.js
的檔案。 -
若要新增自訂問題,請使用文字編輯器,並使用
prompt
函數新增問題module.exports = prompt("朋友,你最喜歡的冰淇淋口味是什麼?", "我都喜歡");
-
若要新增自訂欄位,請使用文字編輯器,將所需的欄位新增至
.npm-init.js
檔案module.exports = {customField: 'Example custom field',otherCustomField: 'This example field is really cool'}
若要進一步了解如何建立進階 npm init
自訂設定,請參閱 init-package-json GitHub 儲存庫。
建立預設 package.json
檔案
若要使用從目前目錄中萃取的資訊建立預設 package.json
,請使用 npm init
指令,並搭配 --yes
或 -y
旗標。如需預設值的清單,請參閱「從目前目錄中萃取的預設值」。
-
在命令列中,導覽至套件的根目錄。
cd /path/to/package
-
執行下列指令
npm init --yes
範例
> npm init --yesWrote to /home/monatheoctocat/my_package/package.json:{"name": "my_package","description": "","version": "1.0.0","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"repository": {"type": "git","url": "https://github.com/monatheoctocat/my_package.git"},"keywords": [],"author": "","license": "ISC","bugs": {"url": "https://github.com/monatheoctocat/my_package/issues"},"homepage": "https://github.com/monatheoctocat/my_package"}
從目前目錄中萃取的預設值
name
:目前目錄名稱version
:始終為1.0.0
description
:來自 README 的資訊,或空字串""
scripts
:預設建立一個空的test
腳本keywords
:空author
:空license
:ISC
bugs
:如果存在,則為來自目前目錄的資訊homepage
:如果存在,則為來自目前目錄的資訊
設定 init 指令的組態選項
你可以為 init 指令設定預設組態選項。例如,若要在命令列設定預設作者電子郵件、作者名稱和授權,請執行下列指令
> npm set init-author-email "example-user@example.com"> npm set init-author-name "example_user"> npm set init-license "MIT"