利用CDN代理 GitHub 内容
一、jsDelivr
jsDelivr 是一个开放的、全球分布的 CDN(内容分发网络)服务,能够帮助你快速、稳定地加载 开源代码、JavaScript 文件、CSS 文件、字体、图片等静态资源。
它常被用于 代理 GitHub 上的内容,以提供比 GitHub 原始地址更快的加载速度,尤其是在网络不稳定的地区或跨境访问时。
二、jsDelivr 代理 GitHub 的格式
使用 jsDelivr 代理 GitHub 资源的标准格式如下:
https://cdn.jsdelivr.net/gh/<用户名>/<仓库名>/path/to/file
<用户名>
:GitHub 上的用户名或组织名<仓库名>
:目标仓库的名称(注意是仓库名,不是分支)path/to/file
:你要加载的文件路径(例如index.html
、styles.css
、main.js
)
例:
<a href="https://cdn.jsdelivr.net/gh/yourname/yourrepo/index.html">page</a>
三、额外功能
-
代理 GitHub Pages 如果你使用的是 GitHub Pages,也能通过 jsDelivr 代理访问整个网站:
<a href="https://cdn.jsdelivr.net/gh/yourname/yourrepo/">访问 GitHub Pages 站点</a>
-
指定分支加载 若你想加载某个特定分支(如
main
)下的文件,格式可为:<script src="https://cdn.jsdelivr.net/gh/yourname/yourrepo/@main/script.js"></script>
-
支持主流项目框架 无论是 JS、CSS、字体,还是打包工具如 Webpack、Vite、TypeScript,都可以使用 jsDelivr 来代理加速。
-
defer 和 async 支持 你可以在引用中使用
defer
或async
控制资源加载时机:<script src="https://cdn.jsdelivr.net/gh/yourname/yourrepo/main.js" defer></script>
-
如果你在中国大陆等jsDelivr被DNS污染的地方,可以尝试fastly,他是github page的官方合作云计算提供商。使用方式也非常简单,仅需把所有以上url开头的
cdn
换成fastly
即可。例如<script src="https://fastly.jsdelivr.net/gh/yourname/yourrepo/main.js" defer></script>
五、注意事项
- GitHub 的仓库必须是 公开(public) 的,否则无法代理。
- HTTP 资源无法代理,必须使用 HTTPS。
- 启用
crossorigin="anonymous"
可解决部分浏览器的跨域限制问题。
- 本文标题:利用CDN代理 GitHub 内容
- 本文作者:uygnil
- 本文链接:https://blog.zhoulingyu.net/index.php/archives/23/
- 版权声明:本文采用 CC BY 4.0 协议进行许可
标签:无
2025年10月新盘 做第一批吃螃蟹的人