Bundlephobia – 查 npm 包体积与下载耗时的依赖分析工具

Bundlephobia – 查 npm 包体积与下载耗时的依赖分析工具

Bundlephobia
Bundlephobia 是一个在线查 npm 包体积与下载耗时的工具。
网站&在线应用

简介

Bundlephobia 的首页只有一行搜索框,标题原文写着 find the cost of adding a npm package to your bundle,输入包名回车就能拿到体积报告;框下方另有一行 OR 与 Scan a package.json file(标注 beta),可以把整份依赖清单一起扫。再往下是 Recent searches,列出最近查过的 @pie-lib/pie-toolbox-math-rendering-module、@spectrum-web-components/color-area、atm_currency_converter48、coding-project7-student-management-by-arjumand、slidev-check 等包名;首页底部是 What does Bundlephobia do? 自我说明,大意是 JS 包越堆越多、站点越做越大,它让你在 npm install 之前就知道新包会给打包产物带来多少负担,并分析 size、compositions 与 exports,末尾注明名字来自 @thekitze、站点托管在 DigitalOcean,另给 STAR ON GITHUB 入口。

包页的信息更密。抓取时打开的是 react,版本 19.3.0,摘要写着 React is a JavaScript library for building user interfaces,依赖状态标为 no dependencies。BUNDLE SIZE 一栏并排两个数字:MINIFIED 7.8 kB、MINIFIED + GZIPPED 3 kB;DOWNLOAD TIME 按网速假设分两档,SLOW 3G 估出 60 ms、EMERGING 4G 估出 3 ms。右侧是按版本画的柱状图,图例用 MIN 与 GZIP 两种颜色区分,顶部版本控件从 19.1.6 一路排到 19.3.0。页面往下是 Exports Analysis 与 Similar Packages:前者说明导出分析只对导出 ES Modules 且无副作用的包开放,react 当场提示 This package does not export ES6 modules.;后者拿 react-native-gifted-charts 与它对照,标出 24.2 × LARGER 与 72.23 kB MIN + GZIP,旁边留了 SUGGEST ANOTHER 让人补充候选。

站内的 Trends 页(Package trends)把多个包并排看:填入 react 与 vue 之后,METRIC 可切 Downloads、Stars、Size,RANGE 有 2M、1Y、3Y 三档,COMPARE WITH 里能一键再加 preact、svelte、solid-js、@angular/core、lit 等候选;下方 SNAPSHOT 表按 PACKAGE、STARS、WEEKLY DOWNLOADS、GZIP、MINIFIED 五列排开,react 一行为 250.8 k、138.83 M、3 kB、7.8 kB,vue 一行是 54.5 k、11.96 M、88.8 kB、245.1 kB。顶部导航并列 BADGES、SPONSOR、BLOG、TRENDS、SCAN PACKAGE.JSON 与 MCP 六个入口,右上角另有两个图标按钮,一个是 GitHub,一个是深色模式切换。

✨ 优缺点

  • ✅ 免登录直接查:首页就是一个搜索框,输入包名回车即出版本、体积与下载耗时,抓取到的页面上看不到注册或登录入口。
  • ✅ 体积分两级口径:BUNDLE SIZE 同时给 MINIFIED 与 MINIFIED + GZIPPED,react 19.3.0 当场是 7.8 kB 与 3 kB,不用自己换算压缩率。
  • ✅ 下载耗时按网速分档:DOWNLOAD TIME 一路给 SLOW 3G 的 60 ms,一路给 EMERGING 4G 的 3 ms,可以直接对着用户的网络环境看。
  • ✅ 版本维度一眼看清:包页右侧按版本画柱状图,图例以 MIN 与 GZIP 两色区分,体积随版本往哪边走一眼就能看出来。
  • ❌ 导出分析有门槛:Exports Analysis 只对导出 ES Modules 且 side-effect free 的包开放,react 当场提示 This package does not export ES6 modules.,非 ESM 包就看不到 export 级别的体积。
  • ❌ 数字是估算口径:下载耗时只是按 SLOW 3G 与 EMERGING 4G 两种假设网络给出的参考值,不等于真实用户的加载速度。

📖 使用方法

  1. 打开首页,在搜索框输入 npm 包名(例如 react),回车或点右侧的放大镜。
  2. 先看 BUNDLE SIZE 的 MINIFIED 与 MINIFIED + GZIPPED 两个数字,再用 DOWNLOAD TIME 的 SLOW 3G 与 EMERGING 4G 两档估一下用户要等多久。
  3. 要翻历史版本就在顶部版本控件里选 19.1.6 这类旧版,从 19.1.6 到 19.3.0 可逐版查看;想一次看完整项目,点 Scan a package.json file 上传依赖清单。
  4. 要横向比包就开 Trends 页,用 METRIC 切 Downloads、Stars、Size,RANGE 选 2M 或 1Y,再从 COMPARE WITH 里加 preact、svelte 等;想找替代方案就看 Similar Packages 的倍数并点 SUGGEST ANOTHER 补充。

💰 收费说明

抓取到的首页与包页都没有价目表、订阅套餐或付费墙,搜包、翻版本、横向对比与 package.json 扫描全都不用登录。导航里的 SPONSOR 是赞助入口,页脚署名 @pastelsky 并给出 STAR ON GITHUB,另有 BLOG 记录更新。

🌐 平台支持

整套服务跑在网页里,用现代浏览器打开即可,不必安装任何软件;右上角的图标按钮可以在浅色与深色之间切换外观。抓取到的页面上没有桌面客户端或移动 App 的下载入口,也没有账号体系。归类为网站与在线应用:桌面浏览器与手机浏览器都能打开搜索框完成查询。


截图

Bundlephobia

相关链接


功能标签


特色

★
整份依赖清单扫描
首页搜索框下方提供 Scan a package.json file 入口(标注 beta),可以把项目里的 package.json 整份丢进去,一次看完所有直接依赖的体积。
★
多包趋势对比
Trends 页把多个包并排看,METRIC 可切 Downloads、Stars、Size,RANGE 有 2M、1Y、3Y 三档,用来观察长期的下载量、GitHub 星数与体积变化。
★
SNAPSHOT 对照表
Trends 页下方的 SNAPSHOT 表按 STARS、WEEKLY DOWNLOADS、GZIP、MINIFIED 四列排开参与对比的包,星数、周下载量与两种体积口径可以直接横向读。
★
相似包倍数标注
Similar Packages 不只列包名,还给出相对倍数与压缩体积,抓取时 react-native-gifted-charts 被标为 24.2 × LARGER、72.23 kB MIN + GZIP,旁边另留 SUGGEST ANOTHER 让人补充候选。
★
依赖状态标注
包页摘要行直接写出依赖状态,react 显示 no dependencies,一眼就能判断这个包会不会牵进一串传递依赖。
★
最近查询留痕
首页 Recent searches 区留着最近查过的包名,连 @spectrum-web-components/color-area 这种带 scope 的长名也在列,点回上一次的查询不用重新输入。

替代方案

开发者工具
Shields
Shields 是一个开源徽章生成服务,…
Transform Tools
Transform Tools 是一个在…
Mockaroo
Mockaroo 是一个在线生成随机测试…
RegExr
《RegExr》是加拿大创意工作室 gs…
Can I Use
Can I Use 是前端开发圈最著名的…
网站反馈表单
关注我们

公众号二维码

公众号

公众号二维码

小程序

反馈

网站无法访问了?向我们反馈!
点击下面的 反馈 按钮即可让我们知道!感谢!

为了阻止机器人发送垃圾信息,记得点击验证。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享