Hexo + Next 主题发布后白屏的原因
首先网上有很多的原因列出了,包括有文件加载不全、GitHub Pages 不会提供某些目录等,这些基本都在最新的版本被解决了,不过我遇到了一件非常奇怪的事情
表现
- 访问博客白屏,观察 DOM 等都没有明显问题,只是显示不出来
- 隐约记得几个月前(嗯博客好久没更新过了)是没问题的,而这期间博客并没有改动过
- 测试发现通过
python3 -m http.server
启动起来的服务是可以被正常渲染的 - 直接访问 GitHub Pages 是可以的
- 经过 Cloudflare 是不行的
原因
找到问题十分坎坷就不具体说了,最终定位到问题是 Cloudflare
查询相关原因,是 Hexo 的动画依赖于脚本,而 Cloudflare 的 Rocket Loader (位于速度 - 优化 - 优化传递中)会将脚本进行异步加载,导致文件出错
解决
关闭 Rocket Loader
如果其他网站需要用到这个功能,那么可以配置页面规则只针对博客关闭