NPM便於JavaScript開發者共享和重用代碼,它能夠很容易地更新你紛享的代碼。前端
若是你已經使用JavaScript工做過一段時間,你可能據說過NPM:便於JavaScript開發者共享那些他們創造來解決特定問題的代碼,併爲其餘開發者在本身的應用程序中重用該代碼。npm
一旦你依賴來自其餘開發者的代碼,NPM使得檢查他們是否對該代碼作了更新、下載他們所做的更新等工做變得很容易。瀏覽器
這些可重複使用的代碼稱爲包,也能夠叫模塊。一個包只是一個包含一個或多個文件的目錄。也有一個名爲「JSON」的關於該包元數據文件。一個典型的應用程序,如一個網站,將依賴於幾十個或數百個包。這些包每每是小。通常的想法是,你建立一個小積木,解決一個問題並解決的很是好。這使得您利用這些共享的積木來組合更大的自定義解決方案。服務器
這有不少好處。它使您的團隊能夠借鑑組織之外的專業知識,從那些集中精力在特定的問題領域的人開發的包。可是,即便你不重用組織之外的人的代碼,使用這種模塊爲基礎的方法實際上能夠幫助您的團隊更好地合做,也可使跨項目的代碼重用稱爲可能。網站
你能夠瀏覽NPM網站找到用於構建你的應用程序的包。當你瀏覽該網站的時候,你會發現不一樣類型的包。你會發現大量的代碼模塊。NPM開始做爲節點的包管理器,你會發現大量可用於服務器端的模塊。也有不少包添加您能夠在命令行使用的命令。在這一點上,您能夠找到一些能夠在瀏覽器中、在前端使用的包。spa
如今你知道NPM能夠用來作什麼了,讓咱們談談它是如何工做的。當人們談論npm,他們可能談論三件事:網站,包含人們紛享的包的信息的註冊中心。或者第三件事,客戶端;當一個客戶端開發者決定分享他們的代碼,他們使用安裝在本機npm客戶端將代碼發佈到註冊中心。一旦註冊中心有了該包的入口。此包的註冊表中的入口也會反映咋網站上,網站上也會有專供該包服務的頁面。命令行
因此,npm是什麼呢?它是複用其餘開發者代碼的方法,也是與他人紛享你代碼的方法,它使得管理代碼的不一樣版本變得容易。ip
Source: https://docs.npmjs.com/getting-started/what-is-npm開發