javascript - 为什么要有包管理器?或者说它是做什么的?

查看:73
本文介绍了javascript - 为什么要有包管理器?或者说它是做什么的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

找了很多资料信息,都很没有明确的解释这个,有谁可以帮我解释一下吗?

解决方案

至少有两点好处:

  1. 复用别人已经写好的代码

  2. 管理包之前的依赖关系

第一点很明显了:你不会为每个项目都写一个 jQuery、React 这样的东西,而是直接使用别人已经写好的。传统做法是:去官方网站下载对应的 js 文件,然后放到自己项目的对应路径下,比如 /assets/js/ 。而现在有了 npm 和 yarn 这样的东西,99.9999 % 的开放获取的包都在一个集中存放的地方,方便了查找和下载。就好比原来你要到各处去下载软件,现在有了 360 软件管家,只需要在这里搜索和下载就好了。少了很多时间。

第二点其实是第一点的发展版。因为大家写的包都放在这里了。如果我要写一个新的包,里面的一个小程序正好是别人已经写好的,所以我就拿来用了。这样就是我的包对别人的包有了依赖关系。一个大型的库(包)这个依赖关系可能很复杂,比如:依赖于几十个别的包,同时,每个包都要求对应一个确定的版本(因为版本相差太大,可能会有API不兼容的情况)。这样,如果人工去下载每一个依赖的包,将是一个指数级的任务:

A 包依赖于 B 和 C,同时 C 依赖于 D 和 E,B 又依赖于 F、G、H,D 又依赖于 I、J、K……

如此,基本是人类无法完成的任务。

当然,在没有包管理器之前,也没有人写包会依赖于这么多其它人的包,结果当然就是重复劳动:每个包都把一些常用的功能自己实现一遍。

以上是我暂时能想到的用处,如果想到别的,再来补充。

这篇关于javascript - 为什么要有包管理器?或者说它是做什么的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆