Alicea Wind的个人网站开发日志(1)

1

这段时间我开始着手搭一个个人网站。目标并不复杂,也不是一开始就想着"上线即成品",而是希望它能成为一个长期生长的东西:能展示项目、能写技术文章,也能承载一些真实的前后端交互,而不是只停留在静态页面。

所以第一步,我给自己定了一个很明确、也很克制的目标:先把前端和后端真正跑通一次。

前端我用的是 Vue 3 + Vite。这个选择本身没什么好说的,开发体验足够顺,构建工具也足够现代,适合做一个结构清晰、可扩展的个人站。后端则选择了 FastAPI,主要原因也很直接:启动快、结构简单、非常适合做"小而完整"的 API 服务。

在功能选择上,我刻意避开了登录、权限、复杂表单之类的东西。那些功能一旦开始做,很容易把注意力全部拖进细节里,反而偏离"练前后端交互"的初衷。最后选定的第一个功能是访问计数。

这是一个看起来很简单的需求:

页面打开一次,后端记录一次访问量,前端把结果展示出来。

但它刚好完整覆盖了一条真实的交互链路:

前端页面加载 → 发起请求 → 后端处理状态 → 返回结果 → 前端根据结果更新 UI。

后端这边,我在最外层的 main.py 里写了一个最小的接口 /api/visit。先不做持久化,只用内存里的变量来累计访问次数,每请求一次就加一,然后返回当前的计数值。这样做的好处是逻辑非常直观,问题也一眼能看出来,适合现在这个阶段。

为了避免以后端口混乱,我一开始就把端口约定死了:

后端固定跑在 64000,前端固定跑在 51000。

FastAPI 这边通过 CORS 只允许来自 51000 的请求,这样前后端边界非常清楚,也能尽早暴露配置问题。

前端这边的改动其实不多。我在 App.vue 里加了一段很独立的逻辑:

页面 onMounted 时,请求 /api/visit,维护 loading / error / success 三种状态,然后把访问次数显示在页面右下角,用一个 position: fixed 的小浮层,不干扰任何已有布局。

它让我确认了几件事:

-- 前端请求时机是正确的

-- 接口返回的数据结构是稳定的

-- 跨域配置是生效的

-- 前端的状态变化是可控、可预期的

在这个过程中也踩到了一些很现实的小坑。比如 Vite 默认端口是 5173,如果不显式配置,怎么重启都不会变;再比如构建时 CSS 的 :global(html, body) 写法在生产构建里会有警告,需要拆开写。这些都不是"大问题",但如果不在一开始处理好,后面会反复出现。

到这一步为止,这个网站还远远谈不上"功能完整",但我反而觉得这是一个很好的起点。因为它已经不是"只有页面的前端项目",也不是"孤立跑着的后端服务",而是一个真正开始有"系统感"的东西。

接下来要做的事情也很清晰:

把访问计数从内存换成持久化存储;

考虑按页面区分统计;

再逐步把文章列表、项目数据从静态内容迁移成接口数据。

不急着上线,也不急着堆功能。

先把每一条前后端链路走扎实,比什么都重要

相关推荐
高级程序源14 小时前
django校园寻物通失物招领平台32261-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·django·flask·课程设计
WeiXin_DZbishe14 小时前
基于springboot宠物领养系统-计算机毕设 附源码【课程设计】94217
vue.js·spring boot·python·django·php·课程设计
kimnoic15 小时前
Python数据库学习心得:SQLite、MySQL、PostgreSQL优缺点
开发语言·python
snhna15 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
必须得开心呀16 小时前
python编写带界面的软件,需要安装哪些插件
开发语言·python
Wx-bishekaifayuan16 小时前
express皖美特色农产品网售系统53118-计算机课程设计、毕业设计
人工智能·spring boot·后端·python·课程设计·express·旅游
青少儿编程课堂16 小时前
迪杰斯特拉(Dijkstra)算法:单源最短路与赛场路线规划
c++·python·算法·bfs·信息学竞赛
志尊宝16 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
计算机编程指导师16 小时前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通
Wx-bishekaifayuan17 小时前
springboot汉中旅游服务平台41442-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游