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开发