github 与 jsDelivr 实现静态资源 CDN 托管

操作步骤

1.上传图片到 GitHub

首先,您需要将您的图片上传到一个 GitHub 仓库中。GitHub 可以作为您静态资源的存储库。

2.使用 jsDelivr 链接

上传图片后,您就可以使用 jsDelivr 提供的特定格式的 URL 来引用这些图片。例如,如果您的 GitHub 用户名是 username,仓库名是 repo,那么图片的 jsDelivr 链接格式如下:

https://cdn.jsdelivr.net/gh/username/repo@branch/folder/image.jpg

其中 @branch 可以是具体的分支名(如 master),也可以是标签(如版本号),或者省略以使用最新提交。

3.在项目中引用

在您的网页或应用中,将图片的 src 属性设置为上述 jsDelivr 提供的链接,这样用户在访问您的网站时,图片就会通过 CDN 加速加载。

例如,如果您有一个名为 example.jpg 的图片文件,存放在 GitHub 仓库的 images 文件夹中,您的 jsDelivr 链接可能如下所示:

<img src="https://cdn.jsdelivr.net/gh/username/repo@master/images/example.jpg" alt="Description" />

请注意,jsDelivr 对于 GitHub 仓库的文件大小有限制,单个文件不应超过 50MB。此外,由于 jsDelivr 是一个免费的服务,它可能不适合所有类型的项目,特别是那些需要大量带宽或高级功能的项目。

使用 jsDelivr 可以有效地减少服务器的负载,提高资源的加载速度,并且它是完全免费的。不过,如果您的项目对 CDN 服务有更特定的需求,例如需要更多的带宽、更高级的缓存策略或安全功能,您可能需要考虑使用付费的 CDN 服务。

jsDelivr 服务

JSDelivr 是由 @Cloudflare 提供的免费开源公共 CDN。默认提供的节点是:cdn.jsdelivr.net。该节点国内几乎不可用,需要使用可用性高的节点作为替代。

1.可用的 jsDelivr 节点

节点描述可用性
gcore.jsdelivr.netGcore 节点可用性高
testingcf.jsdelivr.netCloudflare 节点可用性高
quantil.jsdelivr.netQuantil 节点可用性一般
fastly.jsdelivr.netFastly 节点可用性一般
originfastly.jsdelivr.netFastly 节点可用性低
test1.jsdelivr.netCloudflare 节点可用性低
cdn.jsdelivr.net通用节点可用性低

2.第三方提供的 jsDelivr 节点

节点来源特点
jsd.cdn.zzko.cn国内 CDN
jsd.onmicrosoft.cn国内 CDN
jsdelivr.b-cdn.net台湾 CDN
cdn.jsdelivr.usAnycast

3.npm 节点

节点来源特点
npm.elemecdn.com饿了么同步快,缺的多
npm.onmicrosoft.cn公益需准确的版本号
unpkg.zhimg.com知乎同步慢
npm.akass.cn公益需准确的版本号
cdn.chuqis.com/npm/公益需准确的版本号
code.bdstatic.com/npm百度仅同步热门包

注意事项

  • unpkg.com 在国内几乎不可用,建议使用上方提供的国内 CDN 节点。
  • 请根据项目需求和国内访问情况选择合适的 CDN 节点。

参考来源:jsdelivr npm CDN 国内加速节点