npm yarn pnpm 发展历程
从上往下按发布时间排序
- npm v1 / npm v2
不足:依赖包嵌套的问题,导致 node_modules 体积越来越大;没有cahce,没有离线功能
- npm v3
peerDependencies不再导致隐式安装任何东西。如果缺少包 peerDependencies,npm会发出警告;
扁平化 node_modules
- pnpm 发布(默默无名)
- yarn 发布初始版本(kpm)
lockfiles(yarn.lock)
与 npm 和 bower 工作流程兼容
更加语义化
更加简洁,可读的cli输出
各指标超越npm
- npm v4
npm-shrinkwrap.json确保你在其中指定的模块完全按照指定的内容安装(package-lock.json前身)
- npm v5
package-lock.json默认生成,并兼容npm-shrinkwrap.json
重构npm-cache,提升下载速度
对离线模式及缓存安装进行了优化
- npm v5.2
发布npx命令
- yarn@1.0.0发布
Yarn Workspaces 更加友好。它可以让人们自动聚合来自多个 package.json 文件的所有依赖项,并一次性安装它们。
根目录使用单个 yarn.lock 文件,将它们全部锁定。
Yarn 将在碰巧相互依赖的所有工作区之间创建符号链接,以便最终在所有项目中始终使用最新的代码。
- npm v6
发布npm init
- pnpm@1.0.0发布
节约磁盘空间并提升安装速度,解决依赖分身(doppelgangers)的问题
创建非扁平化的 node_modules 文件夹,软连接结构,解决幽灵依赖的问题
- pnpm@2.0.0发布
- pnpm@3.0.0发布
- pnpm@4.0.0发布
修复bug、优化性能、提高兼容性
- yarn 2.0.0
可读性更高的 CLI 输出
更好的 workspaces 支持
yarn dlx(与 npx 类似)
- pnpm@5.0.0发布
- npm v7
支持workspaces概念
自动安装peerDependencies中的依赖
- pnpm@6.0.0发布
- yarn@3.0.0发布
支持 node 的exports字段
不再支持 Node 10
- npm v8
不再支持node10, node11
不再支持require('npm')
npm yarn pnpm 发展历程相关推荐
- 尤雨溪推荐神器 ni ,能替代 npm/yarn/pnpm ?简单好用!源码揭秘!
1. 前言 大家好,我是若川.最近组织了源码共读活动,感兴趣的可以加我微信 ruochuan12 想学源码,极力推荐之前我写的<学习源码整体架构系列>jQuery.underscore.l ...
- npm yarn pnpm命令
命令对比 命令 npm yarn pnpm 安装 install add add 安装到dependencies –save 默认 默认 安装到devDependencies -D, --save-d ...
- 重学前端——npm yarn pnpm
npm yarn pnpm npm NPM 是最初由 Node.js 项目开发的 JavaScript 包管理器.它使开发人员能够更轻松地在不同项目之间共享代码,并在自己的项目中使用其他人的代码.安装 ...
- npm yarn pnpm 的区别
npm .yarn 和 pnpm 常用命令 npm init| yarn init| pnpm init: 初始化命令npm run| yarn run/yarn | pnpm: 运行脚本npm pu ...
- 【总结】1409- 深入浅出 npm yarn pnpm 包管理机制
前端开发者们每天都在接触 xxx install,包管理器是必不可少的工具. 本文会以尽量简洁的语言来描述当下主流包管理工具 npm.yarn.pnpm 的管理策略以及进化史,不涉及任何晦涩的代码. ...
- npm yarn pnpm
本文作者对比了当前主流的包管理工具npm.yarn.pnpm之间的区别,并提出了合适的使用建议,以下为译文: NPM npm是Node.js能够如此成功的主要原因之一.npm团队做了很多的工作,以确保 ...
- 深入浅出 npm yarn pnpm 包管理机制
前端开发者们每天都在接触 xxx install,包管理器是必不可少的工具. 本文会以尽量简洁的语言来描述当下主流包管理工具 npm.yarn.pnpm 的管理策略以及进化史,不涉及任何晦涩的代码. ...
- grunt gulp npm yarn pnpm webpack
Grunt 生态系统非常庞大,并且一直在增长.由于拥有数量庞大的插件可供选择,因此,你可以利用 Grunt 自动完成任何事,并且花费最少的代价.如果找不到你所需要的插件,那就自己动手创造一个 Grun ...
- nodejs第五天 npm yarn pnpm 包管理器
文章目录 npm package.json 安装包 全局安装 配置镜像 yarn 安装使用 镜像配置 pnpm 使用 镜像 npm node中的包管理器叫做npm(node package manag ...
最新文章
- 阿里开发者招聘节 | 面试题14:如何实现两金额数据相加(最多小数点两位)...
- 将 Silverlight 与网页集成【转载】
- java sqlite mybatis_Spring boot + Mybatis + SQLite 搭建blog API
- Java实体映射工具MapStruct
- matlab多变量频域设计工具箱,10.4.3用MATLAB实现连续系统的频域分析.ppt
- 【蓝桥杯嵌入式】【STM32】8_USART之响应上位机指令发送实时时间
- 什么是python基础教程-最好的Python入门教程是?
- 数据库备份工具mysqldump重要参数详解
- 微信小程序下载文件ios无法预览问题--解决方案
- 【深度学习笔记】理解Bicubic,双三次插值
- 视频加水印的软件有哪些?这几款软件可以无痕去水印
- java 选股源码,珍藏多年的「高成功率」选股器分享(附源码)
- 项目管理知识体系指南(九)项目沟通管理
- 快手极速版源码 - autojs 自阅
- 猿圈 题库_百度传课携手猿圈 接入题库及测评服务
- Ubuntu16.04在4K显示器中,字体太小,进行调整
- vm打开虚拟机提示“未能启动虚拟机“解决方案
- 戴尔INSPIRON 14-7472 DDH40 DDH50 LA-F251P r1.0笔记本图纸
- React Native 拆分业务包 bundle拆包 分包 携程方案
- Android开发本地及网络Mp3音乐播放器(十四)网络音乐下载功能实现