关于这个网站
Nuxt3 + TailwindCSS + Vercel + Redis —— 一个后端工程师的全栈实践。
缘起:为什么不直接用现成的?
市面上不缺好用的博客框架,Hexo 快,Hugo 更快,WordPress 功能丰富。 但我最终还是选择从零开始搭一套 —— 并不是因为现成的不好,而是想在这个过程里把 Nuxt 3 的全栈能力、Tailwind 的样式系统、Redis 持久化存储、Git 驱动的部署串起来完整跑一遍。
这篇博客就是这套流程的产物,也是我持续迭代的一个技术练兵场。 从最初的 Nuxt 2 到全面迁移至 Nuxt 3,每一次重构都是对现代前端工程化的深入理解。
技术选型
Nuxt 3 · 全栈框架
基于 Vue 3 的现代化全栈框架,采用 Composition API 和 <script setup> 语法。 服务端渲染(SSR)与静态生成(SSG)灵活切换,内置文件路由系统, 使用 Pinia 替代 Vuex 进行状态管理。Nuxt 3 对 Node.js 20+ 的完美支持, 让部署在 Vercel 上更加顺畅。
TailwindCSS · 样式系统
不用再为类名纠结,直接在模板上组合实用类。暗色模式通过 Tailwind 的 dark: 变体实现,配合系统主题跟随,日间和夜间的阅读体验都还说得过去。
Marked + Highlight.js · 内容渲染
使用 Marked 解析 Markdown 内容,配合 Highlight.js 实现代码高亮。 自定义代码块样式,支持语言标签、行号显示、一键复制等功能, 打造接近掘金风格的阅读体验。
GitHub + Vercel · 自动部署
代码托管在 GitHub 组织仓库 easyblog-org/easyblog-web,每次 push 到 main 分支, Webhook 触发 Vercel 重新构建,大约 20 秒后新版就能上线。 整个过程不用手动传文件,也不用操心服务器运维。
暗色模式 · 一点点实现细节
Tailwind 内置的 dark 变体已经解决了大半问题。剩下的主要是全局背景切换,以及需要自定义几处深色主题下的容器阴影。 通过在 HTML 根元素上动态添加/移除 dark 类名来实现主题切换。
<!-- 日间模式 -->
<div class="bg-white"></div>
<!-- 手动触发暗色模式 -->
<div class="dark:bg-neutral-900"></div>
<!-- 跟随系统主题 -->
<script>
if (window.matchMedia('(prefers-color-scheme:dark)').matches) {
document.documentElement.classList.add('dark')
}
</script>完整代码可以在 GitHub 仓库看到,这里只贴最核心的一小段示意。
关于我

后端工程师 & AI 工程化探索者。日常写 Java 和 Python,对干净、克制的设计有执念。 相信好的工具能让开发者更专注于创造本身。
完整履历和个人介绍 →©2026 EasyBlog 版权所有. Powered by Nuxt.