npm 下载量统计

·— ·数据截至 — ·更新于 —

下载量趋势

滚轮 / 拖动下方滑块可缩放时间轴;点击图例可临时隐藏某个包;点击上方包标签可永久从图表中排除。

各包占比

星期分布

当前区间内每个星期的下载总量

搜索排名

包明细

包名 区间内 占比 昨日 近 7 天 近 30 天 本年 累计 链接

这是什么 / 怎么用

npm 下载量统计是一个免费的在线看板:在页面左上角输入任意 npm 用户名, 即可查看该用户全部 npm 包的下载量——日 / 周 / 月 / 年四种粒度的趋势图、各包占比、星期分布、 可排序明细表,以及关键词的搜索排名。用法:

  1. 在顶部 @ 输入框里填 npm 用户名,点「切换」或直接回车;
  2. 地址栏会出现 ?user=<用户名>,这个链接可以直接分享给别人,对方打开就是你刚看的看板;
  3. 不填用户名时默认统计 config.js 里配置的用户。
数据从哪来?
全部来自 npm 官方公开接口:registry.npmjs.org(包列表与元信息)与 api.npmjs.org/downloads(下载量)。由访客浏览器直接请求,本站无后端、无广告,ECharts 已本地内置。
本站有访问统计吗?
有,但只有 Cloudflare 官方的访问统计:页面底部加载 static.cloudflareinsights.com/beacon.min.js,用于统计 PV / 独立访客 / 来源 / 国家 / Core Web Vitals。该探针不使用 Cookie、不做跨站跟踪,且 Cloudflare 官方明确不记录 URL 查询参数——也就是说它看不到你查的是哪个 npm 用户。介意的话屏蔽该域名即可,不影响本页任何功能。
(技术细节:config.js 里的 webAnalyticsToken 为空时不会加载任何第三方脚本,fork 后默认就是关的。)
支持任意 npm 用户吗?
支持。仓库里 config.js 的 extraPackages / excludePackages / autoDiscover 等个人化覆盖只对默认用户生效,其他人切换进来时一律按其真实包列表统计。
为什么有的包显示「—」而不是 0?
该包尚未被 npm 下载量服务收录(新包一般需要 24~48 小时),它与「已收录但下载量为 0」是两回事,所以不显示 0,以免误导。
为什么看不到今天的数据?
npm 的下载量按 UTC 每天批处理一次,不提供当天数据(接口会为今天直接补 0),所以看板的数据上限就是昨天。昨天的数字通常要到今天某个时刻才刷出来,因此这里不做隐藏:若还没刷出来,「昨日」就会显示 0(可稍后刷新)。
「搜索排名」是下载量排名吗?
不是。它是 npm 搜索结果里的顺序(按 score.final,即相关度 × 热度),换个关键词名次就不同;npm 接口只允许翻页到前 5000 名,超出会显示 > 5000,结果集里没有的包显示「未出现」。