克隆/下载
贡献代码
同步代码
pluto readme 1803a51 3年前
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Form_Club—后台 API

前言 😁

​ 每一个前端都有全干的心 😂,这是我在学习 node 时,写的一个论坛后台,说很复杂嘛。。。也说不上,算是前端对后端的一个体验的。感觉还行。

技术栈 ✨

·框架:Koa

·数据库连接:mysql2

·语言:JavaScript

·平台:node

目前后台已经部署到了我的云服务器上:接口文档 👉:https://documenter.getpostman.com/view/14934172/UyrBhvD5

​ 简单说一下为什么选这些吧。框架开始有三个候选人 Koa Express Nest。Nest 因为网络上资料较少,只有官方文档,同时它的写法感觉和 Java SpringBoot 很像,就暂时没有选择。Express 用的不是很熟,所有选择了轻量级的 Koa。

​ 数据库连接:没有选择 ORM 框架,而是选择了 mysql2 经行连接,因为。。。。ORM 目前还只接触过 Go 的 gorm。不太会用

​ 语言:开始是想 TypeScript 的,毕竟有类型注解和泛型,和强类型语言很接近,但是开始只是想写一个简单的 CRUD 后台,后面写着写着就越来越多了(如果重来我选 TypeScript)。

​ 平台:肯定就 node 了

展示 😼

image-20220424215956067

image-20220424220026928

image-20220424220102279

GET 到了什么 ✔

JWT 认证

​ 也算是解决了我的疑惑,以前网站自动登录为啥过一段时间就失效了,再加上 http 请求是无状态请求,服务器是怎么知道我登录了的。原来都是本地存储的 token。通过系类算法生成 token。发送请求时携带 token,服务器那边通过中间件的验证,判断是否登录。

后端项目的分层

​ middlewa: 公共函数抽成中间件,例如登录验证,权限验证

​ controller:控制器,不同路由所特有的方法,例如添加,删除评论

​ service:获取数据库数据的操作放到这里面和 controller 一一对应

项目的部署

​ 自己尝试在云服务器上部署后端项目,前端倒是用 nginx 部署的很熟悉了,感觉非常不错,就是我的那个小小的 1 核 2G 的服务器不知还撑不撑的住。目前已经挂了 jenkins, mysql, halo, nginx 的两个网站,再加个 node 后端,害怕。。。🙆‍♂️

MIT License Copyright (c) 2020 coderwhy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
JavaScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化