Hexo-AliCDN-Refresher:自动刷新阿里云CDN缓存的Hexo插件
前言
在使用 Hexo
搭建博客的过程中,如果站点接入了 CDN
服务用于内容加速,往往会遇到一个常见问题:每次部署更新后,CDN
上仍然保留着旧的缓存资源,导致用户访问时无法即时看到最新内容。尽管可以通过登录 CDN
控制台手动刷新缓存来解决该问题,但这种方式显得较为繁琐,尤其在频繁部署的场景下,操作成本较高。
为此,我开发了一款 Hexo
插件 —— hexo-alicdn-refresher
,它能够在 Hexo
部署流程结束后,自动调用阿里云 CDN
的刷新接口,按需清除指定路径的缓存,从而实现缓存更新的自动化处理,极大地简化了部署流程,提升了效率。
需要说明的是,当前版本的插件并未实现通过对比部署前后文件差异来选择性刷新缓存的功能。这主要是出于实用性考虑——我个人在日常使用中,习惯于部署完成后直接刷新整个目录,因此并未在此处进行额外优化。后续若有需要,也可考虑补充此类能力以提升刷新效率。
部署
安装插件
1 | npm install hexo-alicdn-refresher --save |
配置文件添加信息
在hexo
项目的配置文件下或者主题的配置文件中添加以下配置:
1 | aliyun_cdn_refresh: |
⚠️ 为了安全起见,建议项目private,以免密钥泄露。
⚠️ type为Directory时,url必填带/
插件工作原理
插件会监听 hexo deploy
执行完毕后的 deployAfter
事件,自动触发 CDN
缓存刷新请求。
结果示例
1 | INFO [alicdn-refresh] 部署完成,开始刷新阿里云 CDN 缓存... |
总结
hexo-alicdn-refresher
插件实现逻辑较为简单,主要是在 Hexo
部署完成后,自动调用阿里云 CDN
的接口进行缓存刷新,避免了手动操作的繁琐。该插件已发布至 NPM
,后续将持续完善和优化功能。
评论