1. npm的背景,为什么使用npm
1. 社区文化
- 分享源代码
- 讨论问题(issue
- 收集学习资源和网站。
- 互相使用和贡献代码
2. 共享代码
- 早期社区、npm没有崛起的年代,通过网址链接共享代码
点击jqueny 官网的下载链接,同时 github本身可以通release下载.
![在这里插入图片描述](https://img-blog.csdnimg.cn/50a520c7ee824398ac7d57cb47796813.png)
- 问题来了
当一个网站依赖的代码越来越多,程序员发现这是一件很麻烦的事情:
去jQuery官网下载jQuery
去BootStrap官网下载 BootStrap
去Underscore官网下载 Underscore…
- npm 横空出世
Perl语言的发明人Larry Wall说,好的程序员有3种美德:懒惰急躁和傲慢(Laziness,
lmpatience and hubris)。
拥有三大美的npm之父lsaaz给出一个解决方案,把所有的代码用一个工具集中管理一npm ( node Package Mangger)
一个用js写的,运行在nodejs上的包管理工具
3. npm具体实现与发展
1. 思路
- NPM的思路大概是这样的:
1.买个服务器作为代码仓库(registry),在里面放所有需要被共享的代码
2.发邮件通知jQuery、Bootstrap、Underscore 作者使用
npm_publish把代码提交到registry上,分别取名jquery、bootstrap和underscore(注意大小写)
3.社区里的其他人如果想使用这些代码,就把jquery、bootstrap和underscore 写到package.json里,然后运行npm install , npm 就会帮他们下载代码
4.下载完的代码出现在node_modules目录里,可以随意使用了。这些可以被使用的代码被叫做包(package),这就是 NPM名字的由来:Node Package(包)Manager(管理器)。
下载包:
发布包
2. 发展:
lsaaz 通知jQuery 作者John Resig,他会答应吗?这事儿不一定啊。只有社区里的人都觉得「npm是个宝」的时候,John Resig才会考虑使用npm。那么npm是怎么火的呢?
npm的发展是跟Node.js的发展相辅相成的。Node.js是由一个在德国工作的美国程序员 Ryan Dahl写的。
他写了Node.js,但是Nodejs缺少一个包管理器(帮助开发者发布、安装和管理包),于是他和npm 的作者一拍即合、抱团取暖,最终Node.js内置了npm。后来的事情大家都知道,Node.js 火了。 随着Node.js 的火爆,大家开始用npm来共享JS代码了,于是 jQuery作者也将jQuery发布到npm了。所以现在,你可以使用npm install jquery来下载 jQuery代码。现在用npm来分享代码已经成了前端的标配。
3. 后续
Node.js目前由Ryan Dahl当时所在的公司joyent继续开发,Ryan Dahl现在已经去研究AI和机器学习了,并且他把 Node.js 的维护权交给了lsaaz。而Isaaz维护了一段时间后,辞职了,成立了一个公司专门维护npm 的registry,公司名叫做npm 股份有限公司…谁说开源不能赚钱的~
4. 社区的力量
回顾前端的发展是你会发现,都是社区里的某个人,发布了一份代码,最终影响前端几年的走向。比如 jQuery,比如 Node.js,比如npm。(其实其他语言也是这样的)。所以,社区的力量是巨大的。
2. npm怎么安装,配置,使用
1. npm安装
npm作为node自带的包管理工具,不需要我们自己去单独安装,只要安装好nodeJS环境,就已经自动安装好了npm,也就相当于电脑上的自带的管家
2. npm使用
学习npm的重点就是学会如何安装包,更新包,卸载包