vue組件中最常見的數據傳遞就是父子組件之間的傳遞,父組件可以通過 props 向下傳數據給子組件,子組件可以通過 $emit 事件攜帶數據給父組件。然而當兩個頁面沒有任關係,該如何通信?這就引出了 EventBus ( 事件匯流排 ) 這個概念 初始化 方法一:新建文件 首先需要初始化一個 Even ...
npm stands for "Node Package Manager"
包管理器可以把庫,框架作為 Nodejs 模塊引入。
package.json
package.json
文件是所有 Node.js 項目和 npm 包的樞紐,它存儲項目的相關信息。 它由單個 JSON 對象組成,並以鍵值對的形式存儲項目信息, 且至少包含兩個必填欄位:“name”和“version”——但是最好提供有關項目的其他信息,這將對用戶或者維護者有所幫助。
添加作者 Author
在這個文件中最常見的信息之一是 author
欄位, 它說明瞭項目的創建者,它可以是字元串,也可以是帶有聯繫人詳細信息的對象。 對於較大的項目,建議使用對象;比如下麵的例子:
"author": "Mitchell"
註意: 正在修改的是一個 JSON,所有的欄位名必須用雙引號(")包裹,也必須用逗號(,)分割。
添加描述 Description
一個完整的 package.json 文件的下一部分就是 description
欄位——簡短精悍的的項目描述。
如果計劃將來把這個包發佈到 npm,請註意 description 欄位的作用是告知用戶這個包的用途,這樣用戶就可以決定是否要安裝。 然而,這並不是使用描述的唯一場景:它也是一種很好的總結項目的方式, 可以幫助其它開發者、維護者甚至自己在未來快速地瞭解項目,對於任何一個 Node.js 項目來說都非常重要。
無論項目計劃是什麼,都建議使用描述。 類似這樣:
"description": "A project that does something awesome
添加關鍵字 Keywords
在 keywords
欄位中可以使用相關的關鍵字描述項目。 下麵是一個示例:
"keywords": [ "descriptive", "related", "words" ],
這個欄位的結構是一個由雙引號字元串組成的數組。
添加許可證 License
給 package.json 添加許可證
license
欄位將告知用戶允許他們拿這個項目乾什麼。
開源項目常見的協議有 MIT 和 BSD 等。 許可證信息並不是必須的。 大多數國家的版權法會預設開發者擁有自己創作的作品的所有權。 但是,明確說明用戶可以做什麼和不能做什麼會是一個很好的做法。 這裡有一個 license 欄位的例子:
"license": "MIT",
添加版本號 Version
version
是 package.json 文件中必填欄位之一, 這個欄位描述了當前項目的版本, 下麵是一個示例:
"version": "1.2.0",
使用外部包(依賴) Dependencies
強大的依賴管理特性是使用包管理器的重要原因之一。 每當在新的電腦上開始一個項目時,無需手動,npm 會自動安裝所有的依賴項。 但是 npm 如何準確地知道項目需要哪些依賴呢? 來看看 package.json 文件中 dependencies
這一部分。在這部分,需要按照下麵這種格式來存儲依賴包:
"dependencies": {
"package-name": "version",
"express": "4.14.0"
}
通過語義化來管理 npm 依賴 Semantic
在 package.json 文件的依賴項中,npm 包的 Versions
遵循語義化版本(SemVer,Semantic Versioning),它是一種旨在使管理依賴項更加容易的軟體版本控制的行業標準。 在 npm 上發佈的庫、框架或其它工具都應該使用語義化版本,以便讓用戶清晰地知道如果項目升級將帶來哪些改變。在使用外部依賴項(大多數情況都是這樣)進行軟體開發時,瞭解語義化版本會很有用。 這些數字保存著項目的偶然發生的破壞性改變,不會讓人對項目昨天還正常,今天卻無法運行而百思不解。 根據官網,這是語義化版本的工作方式:
"package": "MAJOR.MINOR.PATCH"
當做了不相容的 API 修改,應該增加主版本號(MAJOR); 當新增了向下相容的新功能時,應該增加次版本號(MINOR); 當修複了向下相容的 bug 時,應該增加修訂號(PATCH)。 這意味著修訂號是用來修複錯誤的,次版本號則是添加了新功能,但它們都沒有破壞之前的功能。 主版本號(MAJOR)是添加了不相容早期版本的更改。
使用波浪號維持依賴項的最新修訂號 Tilde-Character
如果想讓項目各個部分保持相互相容,鎖定依賴包版本是一個行之有效的辦法。 但是大多數情況下,並不希望錯過依賴項的問題修複,因為它們通常包含重要的安全補丁,而且它們理論上也會相容我們既有的代碼。
可以在依賴項的版本號前加一個波浪號(~
),以讓 npm 依賴項更新到最新的修訂版。 這裡有一個允許升級到任何 1.3.x 的例子:
"package": "~1.3.8"
用脫字元(^)來使用依賴項的最新次要版本 Caret-Character
和上一個挑戰中我們學到的用波浪號來安裝最新的修訂版依賴一樣,脫字元(^
)也允許 npm 來安裝功能更新。 它們的不同之處在於:脫字元允許次版本和修訂版更新。
"package": "^1.3.8"
這會將依賴包更新到任意的 1.x.x 版本。
刪除依賴
直接刪除鍵值對即可,註意逗號的數量