迁移到Cloudflare Pages
前言
这个Hexo原先是直接部署在Github Pages上的,但是Github Pages不允许免费用户使用私有repo,自定义域名要用4个A记录又太不优雅,又赶上最近Cloudflare免费服务白嫖上瘾,就直接把Hexo重新部署在Cloudflare Pages中了
简单几步完成部署
第一步:搞个repo
不要用.io的那个repo了,新建一个并设置为私有
把你的hexo传上去,当然是要用git push的方法
同时注意 / 里一定要有package.json文件(正常来说会有),里面的内容也要看一下,有没有定义好的scripts,例如:
1 | { |
第二步:搞个Page
去Cloudflare的Worker & Pages页面新建一个应用,通过Connect to Git完成授权
接着进到最关键的配置环节,注意一下几个设置:
Key | Value |
---|---|
Production branch | main |
Framework preset | None |
Build command | npm run build |
Build output directory | /public |
Build system version | 2 |
这里要特别强调Build command这块
古早的Cloudflare Pages是可以在Framework preset里选择Hexo的,于是Build command可以直接设置为hexo g
后来Cloudflare Pages取消了Hexo的Framework preset,但是很多文档里依然通过hexo g可以正常生成页面
我不清楚是Cloudflare Pages有了新的变化,还是Hexo有了变化,当前环境中直接执行hexo命令是找不到文件的,必须要根据package.json中定义的scripts来执行npm run build才可以正常生成页面
第三步:定个域名
如果一切正常,你的hexo已经可以通过pages的域名访问了,这时候你可以把你自己的域名加进去
我相信你已经在用Cloudflare Pages的话,DNS肯定也在Cloudflare上,它会自动帮你处理CNAME记录和证书
So what?
折腾一圈下来,唯一解决的就是私有repo的问题
- cloudflare的线路并不比github更快
- 除非直接在github上写文字,否则还是需要本地操作
- git使用比hexo还更复杂
就是脱了裤子放安静的屁