npm包管理工具

1. npm的背景,为什么使用npm

1. 社区文化

  1. 分享源代码
  2. 讨论问题(issue
  3. 收集学习资源和网站。
  4. 互相使用和贡献代码

2. 共享代码

  1. 早期社区、npm没有崛起的年代,通过网址链接共享代码

点击jqueny 官网的下载链接,同时 github本身可以通release下载.

在这里插入图片描述


![在这里插入图片描述](https://img-blog.csdnimg.cn/50a520c7ee824398ac7d57cb47796813.png)
  1. 问题来了

当一个网站依赖的代码越来越多,程序员发现这是一件很麻烦的事情:
去jQuery官网下载jQuery
去BootStrap官网下载 BootStrap
去Underscore官网下载 Underscore…

  1. npm 横空出世

Perl语言的发明人Larry Wall说,好的程序员有3种美德:懒惰急躁和傲慢(Laziness,
lmpatience and hubris)。

拥有三大美的npm之父lsaaz给出一个解决方案,把所有的代码用一个工具集中管理一npm ( node Package Mangger)
一个用js写的,运行在nodejs上的包管理工具

3. npm具体实现与发展

1. 思路
  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的重点就是学会如何安装包,更新包,卸载包

<
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值