一句話歸納:npm使javascript開發者更方便地分享和重用代碼、更方便地更新本身分享的代碼。javascript
將特定功能的代碼分享出去,以便他人重用前端
當咱們引用了其餘開發者的代碼時,很容易檢測出代碼是否更新,能夠很方便地下載更新代碼。java
咱們把代碼組織成包package,有時也叫模塊module。一個包是一個包含一個或多個文件的目錄。在項目中會建立一個特殊的package.json的文件,package.json以元數據的形式定義了項目開發所需的依賴包。這樣,即可以將這些小的解決單一問題的依賴包定義組織在一塊兒,爲這個項目提供大的可定製的依賴集。數據庫
用戶在本地客戶端將代碼發佈到遠程的註冊那裏,這個註冊實際上是包含代碼包信息的數據庫。而後經過npm網站把代碼包信息展現出來。npm
用戶在npm網站選擇所需的代碼包,而後從註冊那裏下載安裝代碼包到本地。json
你的團隊無需去親自開發一些特定功能的模塊,而是直接引用各個領域專家寫好的代碼。即便你的團隊不須要引用外部代碼,這種基於模塊的開發方式也能很好的推進團隊開發。瀏覽器
你能夠在npm的網站上發現各類各樣的包,無論是服務器端仍是命令行仍是前端瀏覽器。服務器