全国服务热线:4008-888-888

公司新闻

npm 是做什么的?。通俗化了解npm

在网上的 npm 实例教程关键都会讲如何安裝、配备和应用 npm ,却非常少告知新手「npm 是做什么的?」「为何要应用 npm?」。今日我也来说讲这一话题讨论。文中总体目标阅读者是「不太掌握 npm 的新手」,老湿机请绕道。


程序猿自古以来至今就会有小区文化艺术。小区的含意是:有着相互岗位或兴趣爱好的大家,自发性机构在一起,根据共享信息内容和資源开展协作。虚似小区的参加者常常会线上探讨有关话题讨论,或浏览一些网站。 前端开发程序猿也是有小区,全球上较大的前端开发小区应当便是 GitHub 了。前端开发根据 GitHub 来共享源码(网上编码库房),探讨难题(Issue 目录),搜集学习培训資源和常去的网站(例如我搜集的优良汉语前端开发blog)。添加小区较大的益处之一是,你可以令其用他人奉献的编码,你还可以奉献编码给他人用。


前端开发是如何共享资源编码的呢?在 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 是由一个在法国工作中的英国程序猿 Ryan Dahl 写的。他写了 node.js,可是 node.js 缺乏一个检修口理器,因此和我npm的创作者一拍即合、报团供暖,最后 node.js 内嵌了 npm。

之后的事儿大伙儿都了解,node.js 爆火。伴随着 node.js 的受欢迎,大伙儿刚开始用 npm 来共享资源 JS 编码了,因此 jQuery 创作者也将 jQuery 公布到 了 npm 上。因此如今,你可以令其用 npm install jquery 来免费下载 jQuery 编码了。如今用 npm 来共享编码早已变成前端开发的标准配置。


node.js 现阶段由 Ryan Dahl 那时候所属的企业 joyent 再次开发设计。Ryan Dahl 如今早已去科学研究 AI 和设备学习培训了,而且他把 node.js 的维护保养权交到了 Isaaz。而 Isaaz 维护保养了一一段时间后,离职了,创立了一个企业专业维护保养 npm 的 repository,企业全名是做 npm 股权比较有限企业......谁说开源系统不可以挣钱的呀???


回望前端开发的发展趋势史你能发觉,一般全是小区里的某一人,公布了一份编码,最后危害前端开发接下去两年的迈向。例如 jQuery,例如 node.js,例如 npm,实际上其他語言也是那样的,因此说,小区的能量是极大的。

创作者:Keller7
连接:p/19e490e7f9aa

经典著作权归创作者全部。商业服务转截请联络创作者得到受权,非商用转截请标明出處。


在线客服

关闭

客户服务热线
4008-888-888


点击这里给我发消息 在线客服

点击这里给我发消息 在线客服