qrobot 最近的时间轴更新
qrobot

qrobot

V2EX 第 548928 号会员,加入于 2021-06-21 14:10:57 +08:00
qrobot 最近回复了
6 天前
回复了 cxhello 创建的主题 Node.js 前端包管理工具调研
@shunia 你要细看 Yarn 做的事情, 还有 Yarn 的 performance 你就会发现 Yarn 的速度会比 pnpm 快, 看 performance 并不是仅仅只是看结果的. 你想想 Yarn 做了多少事情, 如果你仅仅只是使用类似于 npm 这种 install 的功能, 就没必要用 Yarn 了, 相当于核弹打文字, 如果你需要使用 Yarn 的一些复杂的特性, 例如 zero installs 来保证依赖的可靠性, 这个时候你才会发现 node_module 和 zip 的巨大区别
6 天前
回复了 cxhello 创建的主题 Node.js 前端包管理工具调研
@shunia 你看下面的说明. performance 图标上 pnpm 是最快的, 但是下面文字里面也有说明


Yarn 在 add 和 remove 命令的时候, 速度比 pnpm 快

Yarn 在新机器上的时候 install 慢于 pnpm , 因为要执行一系列的安全检查

打包成为 zip 只是为了优化系统对零碎的文件的处理效率, 这个为什么性能变好, 就看各个磁盘怎么处理了.

例如 FAT16,FAT32,NTFS,exFAT 等 window 下的磁盘格式肯定效率 zip 比 node_modules 好, 在说了作为一个库, 这样是不是也方便迁移?
10 天前
回复了 cxhello 创建的主题 Node.js 前端包管理工具调研
@shunia #74 这个是真实的性能测试结果


https://yarnpkg.com/features/performances
10 天前
回复了 cxhello 创建的主题 Node.js 前端包管理工具调研
@shunia #74 为什么把 Yarn 作为第一公民, 因为 Yarn 的 PnP 这一定是未来, 所谓的其他项目不支持,这是改变必须要尽力的过程, 总不能为升级需要变化, 所以一直使用 JDK 8 ? 改变就是好事, 积极拥抱改变才是正道
10 天前
回复了 cxhello 创建的主题 Node.js 前端包管理工具调研
@shunia #71


如果是 Yarn 安装的项目, 则 100 年以后 仍然可以用 Yarn 进启动, 哪怕是互联网已经完全断开, 或者说没有任何第三方 npm 的镜像库, 以及 npm 库 Yarn 一样可以启动, 这样就极大的避免了 100 年以后的项目无法启动的问题

你是没有使用 Yarn 的 Zero-installs 来安装项目, 何谈 10 年后进行启动? Yarn 的 Zero-installs 就是为了解决你所谓的 10 年后无法启动的问题

其次 Yarn 重写 node_modules 加载的方式, 这些不用考虑肯定提升了性能

以前的目录是

- a
- esm
- packages.json
- b
- esm
- packages.json

这样的接口, 是可以可以展开的文件夹

而现在变成了

-a@1.0.0.zip
-b@1.0.0.zip


至于性能提高多少, 相信你只要是用过电脑的都知道 copy 一个 1g 的文件, 和 copy 一个一共 1g 的散文件的文件速度.

优化的效率就在这个地方, 因此所以需要添加 `.pnp.cjs` 和 `.pnp.loader.mjs`来解决这个问题, 应该 node 本身不支持.


pnpm 只是软连接, 这并没有解决什么问题, 而 yarn 是彻底重构 npm 这是本质区别.


yarn 不合适初学者, 因为会有很多问题. 这些初学者的问题都解决了, 那么你将会打开一个新的世界, 至少无论压缩体积,还是删除效率还是安装效率至少加快了百分之八十, 甚至一些对等依赖的问题也直接提示给我了.

Yarn 安全可靠速度快, 没有哪个包管理器目前能做到 Yarn 的这些功能.

当然大多数人不会在乎现在的项目是否 10 年能启动起来

参照链接

- https://yarnpkg.com/features/caching
10 天前
回复了 cxhello 创建的主题 Node.js 前端包管理工具调研
@shunia #64 我别的工具使用的少, 目前常用的就是 npm/yarn, 新项目用 yarn, 老项目用 npm. yarn 稳定可靠, 至少不会出现 10 年前的项目, 十年后就跑不起来, 也至少不会经常在内网环境各种依赖下载的问题. 也不会遇到类似于 fakerjs 这种供应链攻击
10 天前
回复了 cxhello 创建的主题 Node.js 前端包管理工具调研
@shunia #64 yarn 的 pnp 是一个跨时代意义的变化, 至少 yarn 2 (2020 年 1 月), 之后 pnpm(202 年 9 月) 才加入了 PnP 进行支持. Yarn 解决一个最大的问题就是文件碎片的问题, 过多的 node_modules 包会导致庞大的文件碎片, 操作系统在处理这些文件碎片的时候, 这无疑性能损失是非常巨大的.

我自己做的新框架就是采用 Plug'n'Play 作为第一公民, 解决了我很多问题, 例如常见的 peerDependencies 的问题, resolutions 问题, 我很早就开始使用 npm, 如果不是因为 npm 怠惰, 连基本的 workspace 和 overrides 都没有.


至于我说的 "不兼容目前大部分的国产框架", 这本身不是 Yarn 的错误, 而是其他框架没有进行适配, 人不可能一成不变把?


为了让 Yarn 的 Plug'n'Play 作为第一公民, 我重写 umi, 以及 dumi 还有 father 等构建工具, 将 esmodule 和 Plug'n'Play 作为第一公民我觉得是非常必要的, 前端在发展最终 esmodule 和 pnp 这是必然的结局, 或许几年后 yarn 可能推动 npm 做出改变, 然后 npm 默认就支持 pnp 也没准



参照地址

- https://yarnpkg.com/blog/release/2.0
- https://github.com/pnpm/pnpm/pull/2908
10 天前
回复了 cxhello 创建的主题 Node.js 前端包管理工具调研
1. npm - 简单高效, 保持最新版本, 支持 workspace 也能解决一些对等依赖的问题, 前提是要保持 node 最新版本才好用
2. cnpm - 只是为了解决国内代理的问题, 这没必要了把?
3. pnpm - 为了解决 node_modules 占用磁盘的问题, 同样也有 workspace 等等一些功能, 中规中矩
4. yarn - 历史上最好用的包管理工具, 独特的 Plug'n'Play 模式, 并且完全解决 node_modules 所有的缺点. 缺点是不兼容目前大部分的国产框架, 例如 dumi 等等, 并且使用起来复杂, 需要安装额外的工具, 学习成本高


要是我, 可能 yarn 的 Plug'n'Play 最为第一公民
48 天前
回复了 collery 创建的主题 职场话题 招聘疑惑
请问哪些人研发水平能力强, 还需要找工作?

1. 学历低
2. 身体障碍
3. 情商低, 沟通费劲
4. 家境困难
48 天前
回复了 collery 创建的主题 职场话题 招聘疑惑
@collery 试试专科以下, 最好是那种中专, 或者辍学的那种, 然后工作经验 2 年-5 年左右. 你招到的绝对是精英

你自己想想啊, 薪资 15-20K, 而且还要全日制本科. 能力好的为何不进大公司, 本身学历就在, 那剩下愿意投简历招牌的, 无法就是哪些不爱好技术, 只是为了上班 CURD 怎么可能技术好. 当然水平一言难尽啊
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2813 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 15:01 · PVG 23:01 · LAX 08:01 · JFK 11:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.