大家好,我是农村程序员,独立开发者,前端之虎陈随易。
- 个人网站 1️⃣:chensuiyi.me
- 个人网站 2️⃣:me.yicode.tech
欢迎关注,广交朋友,共创未来。
最近呢,Vite 6 更新的消息,在各大技术博主的分享下,已经传开了。
我一直有关注软件更新的习惯,每天都会查看几次软件更新通知,vite 6 发布的第一时间,我就发现了。
粗看了几遍更新内容,不是我熟悉的,写文章分享的话,也只是囫囵吞枣,原样输出,说不出一些自己的见解出来。
不过,今天我又查看了一遍更新 vite 6 更新日志,发现了一个有趣的调整。
chore(deps)!: migrate fast-glob to tinyglobby
就是这一句话:把 fast-glob
替换为 tinyglobby
。
它们是干什么用的呢?参考以下例子:
tinyglobby
import { glob, globSync } from 'tinyglobby';
await glob(['files/*.ts', '!**/*.d.ts'], { cwd: 'src' });
globSync(['src/**/*.ts'], { ignore: ['**/*.d.ts'] });
fast-glob
const fg = require('fast-glob');
const entries = await fg(['.editorconfig', '**/index.js'], { dot: true });
// ['.editorconfig', 'services/index.js']
就是可以用类似正则一样的语法来查询文件和目录的工具。
顺着相关的链接追踪,看到这样一个已经关闭的 issue
,翻译成中文就是:此 PR 建议用较轻的 tinyglobby 替换较重的 fast-glob。支持的模式相同,除了增加括号。
看到这里,不禁对开源贡献者的极客精神深深敬佩,之所以把 fast-glob
替换为 tinyglobby
,就是为了减少一点项目的体积,提高一点性能。
那么接下来,我们对比一下 fast-glob
和 tinyglobby
的相关数据。
对比项 | fast-glob | tinyglobby |
---|---|---|
发布时间 | 2016年12月28日 | 2024年7月23日 |
依赖总数 | 17个 | 2个 |
体积大小 | 96.7 kB | 15.9 kB |
周下载量 | 4600万+ | 20万+ |
最新更新 | 一年前 | 一个月前 |
贡献人数 | 30个 | 6个 |
作为前辈,fast-glob
与 时间相关
的数据优势很大,比如 下载量
。
作为后辈,tinyglobby
与 性能相关
的数据优势更大,比如 体积大小
,依赖数量
。
vite
vitest
ts-morph
sort-package-json
tsup
cspell
nuxt
vite-plugin-pwa
size-limit
postcss-mixins
unocss
vitepress
pkg.pr.new
而且,目前 tinyglobby
已经被以上知名项目作为依赖使用,可靠性是毋庸置疑的。
我自己的开源项目 funpi(放屁) - Node.js接口开发框架
,和 yite-cli - vue3脚手架
也会把 fast-glob
替换为 tinyglobby
。
funpi
-https://github.com/chenbimo/funpi
yite-cli
-https://github.com/chenbimo/yite-cli
如果你感兴趣,欢迎给个 star~