今天跟大家唠唠我捣鼓的这个“戴维森”项目,说白就是个个人博客,但是,我这人就喜欢折腾,非得搞点不一样的东西出来。
我是想着直接用现成的框架,比如 WordPress 什么的,省时省力。但是转念一想,不行,这怎么能体现我的“个性”? 我这人就喜欢从零开始,自己掌控一切,所以就决定自己撸代码。
我选 * 作为前端框架。 这玩意儿我之前也用过,比较熟悉,上手快。 接着就开始搭架子,用 Vue CLI 快速生成一个项目,然后就开始写页面。首页、文章列表页、文章详情页、关于我页面,一个一个慢慢来。写代码这事儿,急不得,得慢慢磨。
- 页面布局: 用 Flexbox 搞的,简单粗暴,兼容性也
-
样式: 我自己瞎写的 CSS,没用什么花里胡哨的框架,就想弄个简约风格。
- 组件: 把一些常用的 UI 元素,比如导航栏、页脚,封装成组件,方便复用。
前端搞定,接下来就是后端。后端我选 * + *。 这俩也是老熟人,配合起来用很顺手。 用 Express 搭建一个简单的 API 服务器,用来处理文章的增删改查。
然后就是数据库,我选 MongoDB。 主要是因为它比较灵活,不用事先定义表结构,方便我随时调整。 用 Mongoose 连接 MongoDB,定义文章的 Schema,然后就开始写 API 接口。
数据存储和接口
接口:
这部分就是纯粹的 CRUD 操作,也没啥好说的。 主要是要注意数据的验证和权限控制,防止有人瞎搞。
-
获取文章列表: 分页查询,支持按时间排序。 - 获取文章详情: 根据 ID 查询文章。
-
创建文章: 验证用户身份,只有管理员才能创建文章。 - 更新文章: 验证用户身份,只有管理员才能更新文章。
-
删除文章: 验证用户身份,只有管理员才能删除文章。
一步就是把前后端连起来。 在前端用 Axios 发送 HTTP 请求,调用后端的 API 接口,获取数据,然后渲染到页面上。 这部分也没啥难度,就是一些体力活。
这只是个简单的博客,还有很多功能没有实现,比如评论、搜索、标签、分类等等。 以后有时间再慢慢完善。 这回自己撸代码,还是学到不少东西,也体会到开发的乐趣。 以后有机会,再跟大家分享更多的实践记录。

还没有评论,来说两句吧...