使用 FreeCDN 让博客自动切换免费公共 CDN,提升访问速度

jsDelivr 备案许可被注销,导致大量静态资源(博客里的图片等)加载失败,遂寻找更稳定的 cdn 替换,但是,替换 CDN 治标不治本。几天后,我在 GitHub 看到了 freecdn 这个项目,很好地解决了这个问题。

项目描述

freecdn 是一个纯前端的 CDN 解决方案,用于降低网站流量成本,同时提高网站稳定性、安全性,并且无需修改现有的业务逻辑。

互联网上有很多免费的公共库 CDN,例如 cdnjsjsdelivrunpkg,但哪个最稳定,始终没有明确的答案。

现在你无需纠结这个问题,随意选择即可。freecdn 可根据用户的网络状况,实时切换到合适的 CDN。

本文将会利用 freecdn 自动选择公共库的特性,加速 hexo icarus 站点。

几步接入 freecdn

如果博客访问正常,你已经成功了一半!打开控制台网络标签,可以看到资源是从 Service Worker 加载的——

freecdn 大致做了以下事情:

问题来了,由于本站的资源本来就从
CDN(jsd)加载,并不包含在 public 打包结果中,导致只有极少请求利用了 freecdn,大量请求依然走
jsd。若想解决这个问题,只好从 npm 仓库上挨个下载需要的资源,全部合并到自己的仓库管理,好在依赖的第三方资源不多,也就 8
个,半个小时足以搞定。

├─clipboard
│ └─2.0.4
│ └─dist
├─cookieconsent
│ └─3.1.1
│ └─build
├─highlight.js
│ └─9.12.0
│ ├─lib
│ │ └─languages
│ └─styles
├─jquery
│ └─3.3.1
│ └─dist
├─justifiedGallery
│ └─3.8.1
│ └─dist
│ ├─css
│ └─js
├─lightgallery
│ └─1.10.0
│ ├─dist
│ │ ├─css
│ │ ├─fonts
│ │ ├─img
│ │ └─js
│ ├─lib
│ └─modules
├─moment
│ └─2.22.2
│ └─min
└─twikoo
└─1.4.14
└─dist

如果 freecdn 能够扫描 public 中的 CDN 网址,并生成清单文件的话,就不需要这么麻烦了,然而技术实现应该很难吧。

原文链接:https://blog.csdn.net/qq_37126941/article/details/124098411

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/8278

(0)
上一篇 2022年8月22日 17:09
下一篇 2022年8月22日 17:42

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml