包括名稱、作者、依賴關係...等眾多的 meta 資訊,而定義這些資訊的檔案叫做 package.json
它必須位在你專案 root 下,package.json 可以幫助你 publish 你的應用程式到 NPM 上,
就算你沒有要這樣做,你也是需要利用它來管理你的依賴關係(dependencies)
而一個最簡單的 package.json 檔案必須包含 name 和 version,如下:
{
"name": "demo-app",
"version": "0.0.1"
}
其中 package.json 必須遵循一個標準的 JSON 的格式來撰寫
接下來說明一些常用的或是重要的屬性:
- Authors & Contributors
用來描述 Package 的作者資訊以及貢獻者的資訊
透過 author 與 contributor s
"author": {
"name": "Allen Fang",
"email": "ayu780129@gmail.com"
},
"contributors": [{
"name": "Contributor1",
"email": "Contributor1@mail.com"
},{
"name": "Contributor2",
"email": "Contributor1@mail.com"
}]
- Description & Key word
描述 Package 的內容以及相關的關鍵字,以便讓 NPM 能夠分類以利搜尋
"description": "This is a sample module for learning",
"keywords": [
"sample",
"nodejs"
],
"author": {
"name": "Allen Fang",
"email": "ayu780129@gmail.com"
}
- Dependencies
以上的 Author、Contributors、Description 等等的,如果你並沒有打算要把
Package publish 到 NPM 上,其實不寫是沒關係的,而 Dependencies
則是整個 package.json 中最重要的欄位,它是用來描述你的 Package 有依賴哪些
第三方的 Packages,同樣也是可有可無。如下所示:
"dependencies": {
"express": "4.4.4"
}
通常我們並不會在 package.json 直接寫上這些依賴關係,如果你的 Package 需要依賴
express 的話,你可以在 Package root 下這樣的指令 npm insall --save express
你會發現在 root 目錄下會出現 node_module 資料夾,內有 express package,
另外 NPM 會幫你在 package.json 加上
"dependencies": {
"express": "~4.4.4"
}
所以如果額外加了 --save,NPM 會幫你在 package.json 加上 dependencies
你可以不需要手動自己撰寫喔!!
- Developmental Dependencies
當你在開發一個應用程式時,一定會有一些依賴的 Packages 是只有在開發時才會需要
在 Production 時是不需要的,因此可以加在 "devDependencies" 欄位,同樣的建議你用
--save-dev 讓 NPM 自動幫你在 package.json 內加上依賴的 Package 在 devDependencies 欄位內
- Scripts
最常見的就是設定一些環境參數、執行測試或是啟動 server 之類的工作,範例如下:
"scripts": {
"config": "node config.js"
}
上面我定義了 config 參數,當我在 root 下 npm config
NPM 會去執行 "node config.js" 這行指令
最後建議大家盡量透過 npm init 來建立你的 package.json,不要手動自己敲
它會指引你建立一個完整的 package.json ,過程我就不再多加撰述了
沒有留言:
張貼留言