用 React + Tailwind CSS 打造现代博客:功能解析与最佳实践

162 阅读3分钟

作为一名技术爱好者,拥有一个功能完善、美观且高效的个人博客是展示专业能力和分享见解的理想方式。下面我将从用户体验和技术实现角度,解析如何使用 React 和 Tailwind CSS 构建一个令人印象深刻的博客平台。(看ai放屁)

用来尝试NestJs框架搭建的博客,NestJS 作为一款渐进式 Node.js 框架,凭借其企业级架构设计与开箱即用的生态,成为我开发博客后端服务的核心选择。其模块化设计(@Module)与依赖注入(DI)机制,使得代码分层清晰,结合TypeORM实现数据层高效管理,JWT与Passport模块无缝集成身份认证,保障系统安全。通过@nestjs/swagger自动生成 API 文档,配合Redis缓存与Throttler限流,显著提升接口性能。NestJS 深度整合 TypeScript 的强类型特性,结合class-validator实现请求数据验证,减少潜在错误。无论是基于Express的高并发处理能力,还是通过WebSocket实现实时交互,NestJS 都为博客系统提供了灵活、可维护的架构基础,完美支撑从用户管理到内容发布的全场景需求。

前端用来尝试一种只提供逻辑的ui组件库,使用到了React、Tailwindcss、Radix UI、Aceternity UI、Vite、TypeScript、Socket.Io

47.93.248.11_3100_home (1).png

这是新版本的样式,老版本有文章添加、文章点赞、消息通知等等,这版本只想简单展示没加,也完善了pc、web响应式和主题切换

预览

代码

起初为了尝试nextjs做的新版,后面不想重复写接口就迁移过来了,都是react没有什么太大的负担,也就Image=>img

老版本大概功能

image.png

image.png

核心功能模块

首页

  • 小破站:分享一些网站的轮播图,和网站浏览量
  • 日记:简单展示日记,所选日期所有日记中最新的一条
  • 小挂件:分享一些文章中提及的仓库和文章地址
  • 小作文:文章列表最新的6条
  • 小藏品:图库轮播图
  • 留言板:使用swiper做滚动效果
  • 风景图:使用css3做的过度效果,点击尝试一下

文章

  • 文章列表:采用卡片式布局,支持分页,突出显示文章标题、摘要、封面图和发布时间
  • 分类 / 标签系统:通过侧边栏或顶部导航展示分类目录,点击后筛选相关文章

47.93.248.11_3100_article.png

日记

  • 日记组件:采用仿真纸质样式,凸显主题展示了标题、日期、天气、内容
  • 日历组件:支持收起展开展示周\月日历,方便了移动端展示周
  • 当天所有日记:使用了swiper展示部分信息,鼠标滑动切换下发内容

47.93.248.11_3100_article (1).png

图库

  • 图集组件:对图片进行组的概念引入,切换缩略图即可查看大图和描述等信息

47.93.248.11_3100_article (3).png