Hexo cdn.jsdelivr.net A low cost solution for CDN invalidation(Hexo cdn.jsdelivr.net 等部分 CDN 引用无效的一种低成本解决方案)
原因:cdn.jsdelivr.net 在2021 年 12 月 20 号国内已经无法使用,导致部分引用此引用此 cdn 资源的 hexo 生成站点 js 依赖和错误页面功能异常。
临时低成本解决方案:
考虑到不同的 hexo 站点使用的插件各有不同,且引用的第三方 js 库存在差异,故考虑采用低成本的方式解决。大概思路是在生成的部分文件里,替换相应的站点域名,实现在 deploy 之前完成文件路径的转换。
举例来说,也是本人遇到的问题,常用的 js 库 jsdelivr CDNhttps://[CDN 地址]/npm/js-base64/base64.min.js:
准备工作(主题 icarus 为例):
- 1.下载对应的无效 js 文件到本地;
- 2.文件放置在(对应创建 CDN 路径文件夹)
themes/icarus/source/npm/js-base64/base64.min.js;
站点根路径生成常用命令封装了一个简单的操作命令脚本(hexo-deploy.sh):
1 | #!/usr/bin/env sh |
警告:
- 脚本包含替换操作!执行脚本前请严格检查命令可行性,防止误操作。
- MacOS 下 sed 和 Linux 发行版之间的区别,MacOS 包含备份保护机制,注意 sed -i ‘’
执行成功后./public下路径替换会为/npm/js-base64/base64.min.js
备注:
其他无效 CDN 域名引用,参考类似方法,注意 sed 命令转义。
Hexo cdn.jsdelivr.net A low cost solution for CDN invalidation(Hexo cdn.jsdelivr.net 等部分 CDN 引用无效的一种低成本解决方案)



