目录

前端免费 CDN 怎么选?字节下线后还能用哪些?

先说个坏消息。

去年我有个项目还挂着字节跳动那个静态资源公共库,今年六月想换版本,一打开全是 404。

查了才知道,cdn.bytedance.com 已经在 2025 年 8 月因为被黑产滥用整个下线了。

如果你还在网上看到推荐它的文章(包括这篇的旧版),可以直接划走。

免费 CDN 这两年变化挺大,不光有服务下线,还有供应链投毒这种安全坑。

这篇按 2026 年 6 月的实际情况重新梳理一遍,哪些能用、哪些有雷,一次说清。

选型先看四个指标

选免费 CDN 别只盯着"免费"。踩过几次坑后,我固定看这四点,缺一个就慎用:

  • 节点覆盖:国内项目看国内节点(北上广深、成渝至少要覆盖);国际项目看全球分布,北美、欧洲、东南亚得有节点。
  • 资源支持:常用的 JS、CSS、图片、字体要全,能直接引用 npm 包更省事。
  • 稳定性:优先大厂或运营多年的服务。字节那次下线就是教训,说停就停。
  • 安全性:这是很多老文章漏掉的一项。CDN 一旦被投毒,你网站上所有用户都会中招,比慢一点严重多了。

各服务现状

下面这几个是目前还在跑、相对靠谱的选择。

jsDelivr

全球节点,背靠 Cloudflare 和 Fastly,支持 npm、GitHub 直接引用,版本控制灵活。问题是默认节点 cdn.jsdelivr.net 国内我这边经常连不上,得换国内可用的镜像节点。

cdnjs

老牌开源库 CDN,由 Cloudflare 维护,资源覆盖广、更新及时。国内速度一般,适合国际项目或做备用源。

unpkg

直接镜像整个 npm,任何发布到 npm 的包都能取到,这点最香。

但它本质是源站直出,没有专门做国内加速,速度看运气。

BootCDNStaticfile CDN

国内访问快、资源也丰富,Staticfile 来自七牛云。

但这俩有安全历史包袱,下面单独讲。

至于 字节跳动静态资源公共库,已下线,别再用了。

对比一览

CDN 服务 节点 资源覆盖 安全/稳定性 适用场景
jsDelivr 全球 全面,支持 npm/GitHub 较好,默认节点国内需换 国际项目、需要最新版本
cdnjs 全球(Cloudflare) 主流开源库齐全 较好,国内速度一般 国际项目、备用源
unpkg 全球 镜像整个 npm,最全 源站直出,无国内加速 找冷门 npm 包
BootCDN 国内 丰富,历史版本多 有投毒前科,谨慎 国内项目,需老版本
Staticfile 国内(七牛云) 热门资源齐全 有投毒前科,谨慎 国内项目
字节跳动公共库 —— —— 2025-08 已下线 不可用

绕不开的安全坑:供应链投毒

这块得专门拎出来说。

2024 年那波 Polyfill.io 大规模供应链攻击,安全研究人员追查发现,BootCDN、Bootcss、Staticfile 这几家被同一个运营方控制,存在向引用方注入恶意脚本的行为。

说白了,你以为引的是 jQuery,实际可能被塞了别的东西。

直到 2025 年还有用户反馈类似问题。

那是不是这俩就完全不能碰?也不绝对。规避办法有几个:

  • 引用时带上 SRI 完整性校验integrity 属性),文件被改动浏览器会直接拒绝加载;
  • 生产环境关键依赖,干脆把文件下载到自己服务器或对象存储托管,不依赖第三方 CDN;
  • 拿不准来源的库,优先选 Cloudflare 系的 cdnjs、jsDelivr。

我现在的习惯是:能自托管的核心库就自托管,CDN 只用来兜底加速一些大众库。

怎么用

用法其实很简单:

  • 打开 CDN 网站,首页基本都带搜索;
  • 搜资源名,找到对应版本;
  • 复制链接,丢进你的页面源码里引用。

比如引 jQuery 和一个样式库,建议带上 SRI 校验:

<!-- jsDelivr 引用 npm 包,crossorigin + integrity 做完整性校验 -->
<script
  src="https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js"
  integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo="
  crossorigin="anonymous"></script>

<!-- cdnjs 引用 CSS -->
<link
  rel="stylesheet"
  href="https://cdnjs.cloudflare.com/ajax/libs/nouislider/15.7.1/nouislider.min.css">

integrity 的哈希值在 cdnjs、jsDelivr 的资源页都能一键复制,强烈建议补上。

常见问题

字节跳动静态资源公共库还能用吗?

不能。

cdn.bytedance.com 已于 2025 年 8 月因被黑产滥用整体下线,所有资源返回 404。

旧项目里如果还在引用它,需要尽快迁移到 jsDelivr 或自托管。

jsDelivr 国内访问慢怎么办?

默认节点 cdn.jsdelivr.net 国内可用性不稳定。

可以换社区维护的国内镜像节点,或者在构建时把依赖打包进自己的资源,减少对单一节点的依赖。

免费 CDN 安全吗?要不要用 SRI?

第三方 CDN 存在被投毒的可能,BootCDN、Staticfile 就出过事。

强烈建议给所有外链脚本和样式加 integrity(SRI)校验,文件一旦被篡改浏览器会拒绝加载。核心依赖最好自托管。

unpkg 和 jsDelivr 选哪个?

找冷门 npm 包用 unpkg,它镜像了整个 npm;要稳定加速和版本控制用 jsDelivr。

两者可以互为备用。

总结

国内项目,我现在更倾向 jsDelivr(配合可用节点)加 SRI 校验,核心库自托管兜底;BootCDN、Staticfile 能用但要清楚它们的投毒历史,别裸引。

国际化项目,首选 jsDelivr 或 cdnjs,全球节点稳定,资源也全。

一句话,免费 CDN 省的是带宽钱,但稳定性和安全得你自己上心。

字节那次下线之后,我对"免费基础设施"这事的信任度低了不少。

如果大家发现更靠谱的免费 CDN,或者遇到节点不可用、资源被投毒之类的坑,欢迎在评论区交流分享~

版权声明

未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!

本文原文链接: https://fiveyoboy.com/articles/free-cdn/

备用原文链接: https://blog.fiveyoboy.com/articles/free-cdn/