NPM 与 CNPM

网上的 npm 教程主要都在讲怎么安装、配置和使用 npm ,却很少告诉新人「npm 是干什么的?」「为什么要使用 npm?」。今天我就来讲讲这个话题。本文目标读者是「不太了解 npm 的新人」,老司机请绕道。


社区

程序员自古以来就有社区文化。社区的意思是:拥有共同职业或兴趣的人们,自发组织在一起,通过分享信息和资源进行合作。虚拟社区的参与者经常会在线讨论相关话题,或访问某些网站。 前端程序员也有社区,世界上最大的前端社区应该就是 GitHub 了。前端通过 GitHub 来分享源代码(线上代码仓库),讨论问题(Issue 列表),收集学习资源和常去的网站(比如我收集的优质中文前端博客)。加入社区最大的好处之一是,你可以使用别人贡献的代码,你也可以贡献代码给别人用。


共享代码

前端是怎么共享代码的呢?在 GitHub 还没有兴起的年代,前端是通过网址来共享代码。比如你想使用 jQuery ,那么你点击 jQuery 网站上提供的链接就可以下 jQuery ,放到自己的网站上使用 。GItHub 兴起之后,社区中也有人使用 GitHub 的下载功能。


麻烦

当一个项目依赖的代码越来越多,程序员发现这是一件很麻烦的事情:
1.去 jQuery 官网下载 jQuery
2.去 BootStrap 官网下载 BootStrap
3.去 Underscore 官网下载 Underscore
......
有些程序员就受不鸟了,一个拥有三大美德的程序员 Isaac Z. Schlueter (以下简称 Isaaz)给出了一个解决方案:用一个工具把这些代码集中到一起来管理吧!这个工具就是他用 JavaScript (运行在 Node.js 上)写的 npm,全称是 Node Package Manager。

npm的思路大概是这样的:
1.买个服务器作为代码仓库(repository),在里面放所有需要被共享的代码
2.发邮件通知 jQuery 、Bootstrap 、Underscore 的作者使用 npm publish 把代码提交到 repository 上,分别取名 jquery、bootstrap 和 underscore(注意大小写)
3.社区里的其他人如果想使用这些代码,就把 jquery、bootstrap 和 underscore 写到 package.json 里,然后运行 npm install ,npm 就会帮他们下载代码
4.下载完的代码出现在 node_modules 目录里,就可以随意使用了。

这些可以被使用的代码被叫做「包」(package),这就是 npm名字的由来:Node Package(包) Manager(管理器)。


发展

Isaaz 通知 jQuery 作者 John Resig,他会答应吗?这事儿不一定啊,对不对。只有社区里的人都觉得 「npm 是个宝」的时候,John Resig 才会考虑使用 npm。

那么 npm 是怎么火的呢?
npm 的发展是跟 node.js 的发展相辅相成的。node.js 是由一个在德国

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值