zoukankan      html  css  js  c++  java
  • npm 与 yarn 发展史

    原文地址:https://blog.csdn.net/qq_29722281/article/details/112003995

    一、 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
    尝试处理依赖项锁定
    不幸的是,一些错误和超出其管理能力的承诺导致该工具的声誉下降

    2017:npm 5 发布
    package-lock.json 是他们的新工具,shrinkwrap 被放在一边
    package-lock.json 开始与 yarns 锁定文件竞争

    2018:npm ci 发布
    直接用 package-lock.json 构建代码
    没有代价高昂的依赖项安全性分析和版本分析
    大大减少了在构建服务器上的构建时间!

    2018:npm 6 发布 ‍♀️
    npm 检查要安装的依赖项中的安全漏洞
    yarn 发布 pnp 概念(即插即用,缓存node_modules),详见我的这篇博客
    yarn 和 npm 的构建时间不再有显差异

    2019:tink 开始进入 beta 模式
    避免使用 node_modules,而是为项目中的每个依赖项创建一个带有哈希值的文件
    尚未做好投入生产环境的准备

    ————————————————
    版权声明:本文为CSDN博主「追逐、」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_29722281/article/details/112003995

  • 相关阅读:
    linux配置静态ip
    hadoop伪分布式搭建
    flume安装
    远程shell脚本执行工具类
    NextCloud 修改数据存储位置(以CentOS 8(apache)为例)
    CP2K入门教程转载分享
    Origin 2019b 合法获取与使用介绍——正版软件&最新最实用教程分享 (Origin下载)
    Internet Download Manager:IDM 6.3.29破解版——最快的下载工具
    关于通过IPv6地址远程登录服务器的操作说明
    安装python的第一个曲折
  • 原文地址:https://www.cnblogs.com/eyesfree/p/15365279.html
Copyright © 2011-2022 走看看