我的博客网站的技术选型随着个人成长也一直在变,从 自建 WordPress
到 PHP的 typecho
,后来换 vuepress
和 hexo
现在打算试试 Nuxt
,原因如下:
- 现有的hexo是基于我本地的MD文档,但我现在全力转向 语雀了,语雀提供
restful API
、更好的编辑体验,让我彻底放下了手动维护MD和印象笔记(印象笔记真是个扶不起的阿斗) - 目前hexo的模板想更换新的风格
考虑到 Vue3 已经推出,想尝试使用新的代码风格来熟悉,在 nuxt支持vue3之前,我将使用 @vue/composition-api
来辅助。
此外,这次也将尝试 serverless
…
经过简单的探索,技术方案逐渐明确了:
- 鉴于 语雀api 5000次/小时 的限制,在不引入 第三方缓存的情况下,使用 nuxt生成静态文件
- Nuxt生成静态文件,需要提供索引,这个很容易解决
- 之前hexo生成的静态文本放到云服务器上,通过CDN来完成访问加速,本次尝试使用腾讯云提供的
云托管
,这里自带了存储和CDN - 博客模板样式打算做一个“缝合怪”,找了几个比较喜欢的hexo模板样式来拼凑
下面是选型时候的权衡点:
- 想走
云托管
运行一个 node APP,也就是说走动态SSR,托管没问题,卡在担心请求限制上,先改为静态文本了 - 请求限制一般不用担心,但为了高可用,可考虑缓存api,后续的更新只涉及几个api的更新,但不引入第三方缓存的情况下,稍有些复杂
- hexo模板多
顺手看了别人是怎么处理语雀的api的,思路大致是一致的,通过服务器来缓存api,为了简单一致是固定时间的写入一个数组或者对象,好处显而易见,引入概念更少,操作更灵活方便。
如果使用自动化部署,如果是github等代码托管网站,可以考虑集成工具来做。
关于这部分内容可以参考: