3分钟快速了解npm是什么
它是世界上最大的软件注册表。
每星期大约有 30 亿次的下载量,包含超过 600000 个(package,即代码模块)。
来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题
常见的使用场景有以下几种:
允许用户从NPM服务器下载别人编写的第三方包到本地使用。
允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
npm 由三个独立的部分组成:网站、注册表、命令行工具;
网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径。
注册表(registry)是一个巨大的数据库,保存了每个包(package)的信息。
注册表 (CLI)通过命令行或终端运行。开发者通过 CLI 与 npm 打交道。
接下来引入对npm的通俗解释:
在GitHub兴起前,前端通过网址共享代码。
用哪个框架,就去那个网址下载,然后放在自己的网站上。
但是当网站依赖的代码越来越多,这个下载过程就越来越麻烦。
这个过程需要被简化,于是一个叫 Isaac Z. Schlueter 的程序员,给出一个解决方案:用一个工具把这些代码集中到一起来管理。
这个工具就是他用 JavaScript (运行在 Node.js 上)写的 npm,全称是 Node Package Manager。
NPM 实现的思路大概是这样的:
1、买个服务器作为代码仓库,在里面放所有需要共享的代码
2、发邮件通知 jQuery、Bootstrap、Underscore 作者赶快用 npm publish ,并且把代码提交到仓库上,并且分别取名 jquery、bootstrap 和 underscore(全是小写)
3、社区里的其他人如果想使用这些代码,就不用再去网站上下载,只需要把 jquery、bootstrap 和 underscore 写到 package.json 里。
4、然后运行 npm install ,NPM就会帮他们下载代码。
5、下载完的代码出现在 node_modules 目录里,可以随意使用了。
这些可以被使用的代码被叫做「包」(package),
这就是 NPM 名字的由来:Node Package(包) Manager(管理器)。
至于后续,jQuery这些框架的作者凭什么回复Isaac,凭什么这样一个工具会火起来,可以去CSDN原文中自行阅读。