从Typecho到全栈自研:我的博客重构‘爱吃甜别加辣-博客网站’之路与下一个十年之约

54 阅读7分钟

在一个多月前,我满怀热情地宣布了个人博客“爱吃甜别加辣”的正式上线,并启动了名为“十年之约”的长期记录计划。彼时,我选择了Typecho这款轻量、优雅的开源系统作为基石,看中的正是其“让创作更简单”的初衷。然而,计划总追不上变化,或者说,一个真正的创作者和技术人的本能,就是不断地审视、优化乃至重构自己的工具。今天,我想与各位分享的,正是这段从使用现成框架到踏上全栈自研之路的思考与抉择——这不仅是一次技术栈的升级,更是我对“十年之约”承诺的深化与实践。

初衷与局限:为什么是Typecho,又为何要离开?

回顾九月底的决定,我依然认为Typecho是一个出色的起点。正如我在首发文章中所言:“选择Typecho是因为它轻量高效,PureSuck主题简洁优雅,让我能专注于内容创作而非技术细节。” 在博客的萌芽阶段,这个选择无疑是明智的。它帮我快速越过了从零到一的鸿沟,将精力聚焦于内容定位——那些关于乡土记忆、生活随笔与社会观察的文字。Typecho像一套精装修的公寓,我只需拎包入住,用心经营室内的生活即可。

但很快,“不便”开始悄然浮现。这种不便并非Typecho的过错,而是源于我个人日益增长的定制化需求和维护习惯。

  1. 定制化的“天花板”:尽管有丰富的主题和插件,但当我希望实现一些独特的交互逻辑、特定的数据展示方式,或者想将博客与我未来的其他个人项目(如知识库、工具集)深度集成时,我发现自己需要不断地与PHP模板、插件机制“搏斗”。这种修改像是在别人的房子里敲敲打打,总有些束手束脚,难以完全随心所欲。
  2. 维护的“上下文切换”:我的主要技术栈集中在现代JavaScript生态(Vue.js/Node.js)。维护一个PHP项目,意味着我需要在不同语言和开发环境之间频繁切换,这种认知负担无形中消耗了本可用于创作的心力。我渴望一个从数据库到前端视图都完全由自己熟悉的技术构建的“数字家园”。
  3. 对“十年之约”的技术承诺:一个要运行十年的项目,其技术架构的可持续性、可维护性至关重要。我希望对它的每一个细节都了如指掌,能够随时根据未来的技术发展趋势进行平滑升级和迭代。一个完全自控的系统,才能给予我这份面对漫长时光的底气。

于是,在10月5日,当“十年之约”刚刚启程不到两周,我做出了一个大胆的决定:启动博客的重构项目。

破与立:技术选型与重构实践

这次重构,绝非简单的技术堆砌,而是一次经过深思熟虑的架构设计。核心目标是:构建一个完全由我掌控、高性能、且便于长期迭代的全栈应用。

  1. 前端:Vite + Pinia —— 追求极致的开发体验与状态管理

我选择了Vite作为构建工具。相较于传统的Webpack,Vite利用浏览器原生ES模块导入,实现了闪电般的冷启动和热更新。这极大地提升了开发效率,让我修改样式或逻辑后能瞬间看到效果,保持了创作流程的流畅性。而Pinia作为Vue.js的官方状态管理库,其简洁的API和TypeScript的完美支持,让我能优雅地管理博客的全局状态,如用户信息、主题设置、文章数据等,为未来添加更复杂的交互功能打下了坚实基础。

  1. 后端:Node.js —— 统一技术栈,实现高效协同

后端服务完全基于Node.js构建。这不仅让我能够用熟悉的JavaScript语言编写服务器逻辑,更实现了前后端技术栈的统一。从数据库查询到API设计,再到与前端的交互,整个数据流变得异常清晰和高效。这种统一,减少了技术上下文切换,让“全栈”开发变得名副其实,也更加符合我个人项目的维护习惯。

  1. 视觉与交互:全新的页面样式

访问现在的新博客(blogs.lovewsx.top/),你会发现界面焕然一…

变与不变:重构背后的坚守

在这次看似彻底的技术变革中,有些核心的东西从未改变,甚至得到了加强。

• 不变的是内容灵魂:博客的名称“爱吃甜别加辣”所代表的生活态度没有变;记录个人成长、时代观察的内容定位没有变;那些已经发布的《颗粒归仓》、《桂香伴码时》等文章,其文字和思想被完整地迁移到了新平台。内容,永远是博客的心脏。

• 加强的是“十年之约”:这次重构,非但不是对“十年之约”的背离,反而是最有力的承诺。它表明我不是一时兴起,而是以极大的决心和工程实践,为这个约定打造了一个更坚固、更可持续的技术容器。我愿意投入巨大的时间成本进行重构,正说明了我对长期坚持的认真态度。

• 深化的是“内容主权”:从选择开源系统到全栈自研,我对“内容主权”的追求走到了更彻底的层面。现在,我不再依赖于任何第三方系统的更新周期或兼容性,真正实现了从数据到表现层的完全自主。我的博客,真正成了我的“数字领土”。

展望未来:下一个十年的技术蓝图

博客的重构完成,不是一个终点,而是一个全新的起点。基于新的技术架构,我对“十年之约”的想象空间被大大拓宽了:

  1. 系列化专栏的技术支撑:计划中的“乡土中国观察”、“程序员的人文思考”等专栏,可以拥有更丰富的页面布局和交互形式,例如时间线导航、关联阅读推荐等。
  2. 多媒体融合的探索:Node.js后端为处理音视频流提供了便利,未来引入音频播客或技术讲解短视频将更加顺畅。
  3. 知识管理体系的构建:我可以逐步开发后端的知识图谱功能,将分散的文章通过标签、主题关联起来,形成真正的个人数字大脑,并可能以API形式开放分享。
  4. 轻量化社区的实现:基于Node.js的实时通信能力,我计划构建更灵活的评论、问答甚至线上讨论室功能,让这里真正成为一个与读者共同成长的交流空间。

结语:在记录中重构,在重构中成长

回首这一个多月的历程,从Typecho的快速启航,到决绝地推倒重来,我仿佛经历了一次数字世界的“创业”。这个过程辛苦却充满乐趣,它让我深刻地体会到:工具是思想的延伸,当你的思想发展到一定阶段,重构工具就成了一种必然。

“十年之约”的意义,或许不仅在于记录下线性的成长,更在于拥抱这种非线性的、螺旋上升的自我革新。今天,我站在一个由自己亲手编写每一行代码的博客上,与大家再次立约。这个平台,将不再只是我思想的记录者,它本身就是我思想与实践的产物,是我技术观与生活观的统一体。

路还很长,但好在,路已在脚下。期待与各位,在新的“爱吃甜别加辣”中,共同见证下一个十年。