Skip to content
On this page

上半场结束|服务端总结


前言

前后端项目目前已经部署到线上环境,大家可以通过以下地址进行访问:

「掘掘记账本」在线预览: http://cost.chennick.wang

测试账号:admin,测试密码:111111。也可以自行注册使用。

「掘掘记账本」前端代码开源地址: https://github.com/Nick930826/juejue-vite-h5

「掘掘记账本」后端代码开源地址: https://github.com/Nick930826/jue-diary-server

个人拙见,服务端的开发并没有你想想中的那么复杂,先抛开那些繁杂的工程化工具,我们把整个项目掰开来分析,无非就是以下两个东西,且听我娓娓道来。

服务端语言

服务端语言是什么?它是运行在服务器上,可用于读写数据库、编写服务逻辑的语言。

我并不想把这件事情描述的太复杂,因为归根结底它就是做这两件事。

至于服务端语言的选择,完全是根据业务和自身能力相结合。比如我是一个前端开发,我更倾向于选择 Node 作为服务端开发语言,因为 JavaScript 是我已经比较熟悉的一门语言。

这里强调一下,Node 它本身不是一门语言,而是一个开发环境,基于谷歌的 V8 引擎,能让 JavaScript 可以运行在服务器的一个环境。赋予 JavaScript 更多除了浏览器脚本意外的能力,如 IO 操作等。

数据库

数据库的作用,是用于数据的持久化存储。

本小册选择 MySQL 作为数据库,是因为它作为老牌数据库,网上解决方案比较多,同学们若是在开发过程中遇到问题,可以在搜索引擎上轻松找到自己遇到的问题的解决方案,对于新手而言,项目开发的流畅度是关键,完成一整套项目的开发之后,你可以尝试去选择其他更有意思的数据库,这里不展开描述。

本教程采用 egg-mysql 插件进行数据库的操作。官方推荐我们使用 Sequelize 来应对较为复杂的项目。笔者的初衷是希望大家能快速入门,不希望引入过多的复杂概念,这里如果大家在后续的学习过程中有需要应对更为复杂的项目时,可以考虑引入 Sequelize

项目分析

整个项目是基于 Egg.js 作为上层架构,通过 Egg.js 为我们提供的一些预定好的开发形式,我们轻松地完成了下列十余个接口的开发:

项目不大,但是本项目包含了几个关键的知识点:

  • 多用户鉴权

  • 一套增删改查

  • 表数据的二次处理(图表)

  • 列表分页的制作

  • 文件数据上传

用“麻雀虽小、五脏俱全”来形容,一点都不为过。

如果你想要在此基础上拓展一些新的功能,如朋友圈、笔记、博客等,都是可以基于该项目进行二次开发的,因为多用户鉴权的架子已经搭建好,后续要做的就是添加表,以及一些业务逻辑上的处理。

当然,如果你想做更为复杂的项目,比如一个商城。那涉及到的内容可能就更多了,单论商品模块的后台编辑,前台展示,就涉及到 sku、购物车、库存的处理、多图上传、详情编辑、类型筛选等等。这就很考验同学们的知识储备和解决问题的能力了。

Q&A 环节

这里将会展示同学们在评论区提出的有价值和频率比较高的提问,作为一个问答列表,让一些有疑问的同学,在笔者没能及时回复的时候,可以答疑解惑。

Q1: 前端部分是否有在线接口地址?

A1: 答:API 文档地址