我的博客网站的技术选型随着个人成长也一直在变,从 自建 WordPress 到 PHP的 typecho ,后来换 vuepresshexo

    现在打算试试 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等代码托管网站,可以考虑集成工具来做。

    关于这部分内容可以参考: