一、 javascript 中包管理的历史
-
npm 出现之前:前端依赖项是保存到存储库中并手动下载的
-
2010:npm 发布并支持 nodejs
-
2012:npm 的使用量急剧增加——主要是由于 Browserifys 浏览器的支持
-
2012:npm 有了一个竞争对手 bower,它完全支持浏览器
-
2012-2016:前端项目的依赖项数量成倍增加
-
2012-2016:构建和安装前端应用变得越来越慢
-
2012-2016:大量(重复的)依赖项存储在神奇的 node_modules 内的嵌套文件夹中☢️
-
2012-2016:rm -rf node_modules 成为前端开发人员最常用的命令。
-
2015:bower 输给了 npm
-
2015:node_modules 被修改为扁平化的文件结构!
-
2016: left-pad成为当时的新闻头条
-
2016: yarn 发布
支持 npm 和 bower 仓库
yarn.lock 能够锁定安装的版本并提供确定性的依赖关系。不再 rm -rf node_modules!
yarn install 花费的时间是 npm install 的一半(不使用缓存的前提下)
缓存和脱机模式使构建过程几乎不花费时间 -
2016:npm 发布 shrinkwrap
尝试处理依赖项锁定
不幸的是,