重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
npm stands for "Node Package Manager"
10年積累的網站設計制作、成都網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站后付款的網站建設流程,更有夏河免費網站建設讓你可以放心的選擇與我們合作。
包管理器可以把庫,框架作為 Nodejs 模塊引入。
package.json
文件是所有 Node.js 項目和 npm 包的樞紐,它存儲項目的相關信息。 它由單個 JSON 對象組成,并以鍵值對的形式存儲項目信息, 且至少包含兩個必填字段:“name”和“version”——但是最好提供有關項目的其他信息,這將對用戶或者維護者有所幫助。
在這個文件中最常見的信息之一是 author
字段, 它說明了項目的創建者,它可以是字符串,也可以是帶有聯系人詳細信息的對象。 對于較大的項目,建議使用對象;比如下面的例子:
"author": "Mitchell"
注意: 正在修改的是一個 JSON,所有的字段名必須用雙引號(")包裹,也必須用逗號(,)分割。
一個完整的 package.json 文件的下一部分就是 description
字段——簡短精悍的的項目描述。
如果計劃將來把這個包發布到 npm,請注意 description 字段的作用是告知用戶這個包的用途,這樣用戶就可以決定是否要安裝。 然而,這并不是使用描述的唯一場景:它也是一種很好的總結項目的方式, 可以幫助其它開發者、維護者甚至自己在未來快速地了解項目,對于任何一個 Node.js 項目來說都非常重要。
無論項目計劃是什么,都建議使用描述。 類似這樣:
"description": "A project that does something awesome
在 keywords
字段中可以使用相關的關鍵字描述項目。 下面是一個示例:
"keywords": [ "descriptive", "related", "words" ],
這個字段的結構是一個由雙引號字符串組成的數組。
給 package.json 添加許可證
license
字段將告知用戶允許他們拿這個項目干什么。
開源項目常見的協議有 MIT 和 BSD 等。 許可證信息并不是必須的。 大多數國家的版權法會默認開發者擁有自己創作的作品的所有權。 但是,明確說明用戶可以做什么和不能做什么會是一個很好的做法。 這里有一個 license 字段的例子:
"license": "MIT",
version
是 package.json 文件中必填字段之一, 這個字段描述了當前項目的版本, 下面是一個示例:
"version": "1.2.0",
強大的依賴管理特性是使用包管理器的重要原因之一。 每當在新的計算機上開始一個項目時,無需手動,npm 會自動安裝所有的依賴項。 但是 npm 如何準確地知道項目需要哪些依賴呢? 來看看 package.json 文件中 dependencies
這一部分。在這部分,需要按照下面這種格式來存儲依賴包:
"dependencies": {
"package-name": "version",
"express": "4.14.0"
}
在 package.json 文件的依賴項中,npm 包的 Versions
遵循語義化版本(SemVer,Semantic Versioning),它是一種旨在使管理依賴項更加容易的軟件版本控制的行業標準。 在 npm 上發布的庫、框架或其它工具都應該使用語義化版本,以便讓用戶清晰地知道如果項目升級將帶來哪些改變。在使用外部依賴項(大多數情況都是這樣)進行軟件開發時,了解語義化版本會很有用。 這些數字保存著項目的偶然發生的破壞性改變,不會讓人對項目昨天還正常,今天卻無法運行而百思不解。 根據官網,這是語義化版本的工作方式:
"package": "MAJOR.MINOR.PATCH"
當做了不兼容的 API 修改,應該增加主版本號(MAJOR); 當新增了向下兼容的新功能時,應該增加次版本號(MINOR); 當修復了向下兼容的 bug 時,應該增加修訂號(PATCH)。 這意味著修訂號是用來修復錯誤的,次版本號則是添加了新功能,但它們都沒有破壞之前的功能。 主版本號(MAJOR)是添加了不兼容早期版本的更改。
如果想讓項目各個部分保持相互兼容,鎖定依賴包版本是一個行之有效的辦法。 但是大多數情況下,并不希望錯過依賴項的問題修復,因為它們通常包含重要的安全補丁,而且它們理論上也會兼容我們既有的代碼。
可以在依賴項的版本號前加一個波浪號(~
),以讓 npm 依賴項更新到最新的修訂版。 這里有一個允許升級到任何 1.3.x 的例子:
"package": "~1.3.8"
和上一個挑戰中我們學到的用波浪號來安裝最新的修訂版依賴一樣,脫字符(^
)也允許 npm 來安裝功能更新。 它們的不同之處在于:脫字符允許次版本和修訂版更新。
"package": "^1.3.8"
這會將依賴包更新到任意的 1.x.x 版本。
直接刪除鍵值對即可,注意逗號的數量