目录
概要
利用koa2+ts+prisma+swagger的完成的后端项目,在本地成功运行后部署到云服务器,选择了宝塔面板
整体架构流程
web框架: koa2 + ts
热更新:ts-node-dev + ts-node
orm:prisma
接口生成与调试:swagger
token生成:JSON Web Token(JWT)
技术名词解释
- Koa2:Koa2是一个基于Node.js的Web框架,它使用了ES6的语法和async/await特性,使得编写异步代码更加简单和优雅。Koa2的核心思想是中间件,它允许开发者将应用程序拆分成小的、可重用的部分,从而使得代码更加模块化和易于维护。Koa2还提供了一些常用的中间件,如路由、静态文件服务、错误处理等,使得开发者可以更加快速地构建Web应用程序。总的来说,Koa2是一个轻量级、灵活、易于扩展的Web框架,适合用于构建中小型的Web应用程序。
- ts-node-dev + ts-node:ts-node 是一个 TypeScript 执行引擎,能让我们在 Node.js 环境下直接运行 TypeScript 代码。
摘抄自 ts-node 官网: ts-node is a TypeScript execution engine and REPL for
Node.js. It JIT transforms TypeScript into JavaScript, enabling you to
directly execute TypeScript on Node.js without precompiling. This is
accomplished by hooking node’s module loading APIs, enabling it to be
used seamlessly alongside other Node.js tools and libraries.
- Prisma:Prisma是一个开源的数据库工具链项目,帮助开发人员更快地构建应用程序并减少错误,支持PostgreSQL、MySQL、MongoDB、SQL Server和SQLite。
- Swagger:Swagger是一个开放源代码软件框架,用于设计、构建、文档化和使用RESTful Web服务。它提供了一种规范的方式来描述和可视化API,使得开发人员能够更轻松地理解和使用接口。Swagger支持多种编程语言和框架,如Java、Python、Node.js等。
- JSON Web Token(JWT):JSON Web Token(JWT)的作用是在客户端和服务器之间传递身份验证信息,并支持授权和信息交换。
技术细节
一,服务器的系统选择与宝塔面板的安装
服务器我选择的是移动云的免费服务器作为调试,服务器安装的系统为ubunto 22最高版本,因为centos 7.x无法安装node 18.x以上的高版本,本项目需要至少18.0.0的node版本,视情况而定。
宝塔面板的安装,连接服务器终端后,输入下面面命令进行安装
wget