当前位置: 首页>后端>正文

【完整生态】koa2+mongodb+vue3+vite+ElementPlus

一、先利用Koa2+mongodb搭建后台服务

a.安装koa2脚手架 npm install -g koa-generator

b.本地新建文件夹,然后cmd回车输入命令koa2 -e koa-server,然后切换koa-server目录如下图

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第1张
文件信息

c.通过npm install 下载依赖,下完依赖后运行npm run dev,并且在浏览器中访问localhost:9000(原始端口号默认是3000,可以自己根据需要修改)出现如下图则表示成功

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第2张
终端运行结果
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第3张
浏览器访问结果

d.下载mongodb数据库,下载链接 https://www.mongodb.com/try/download/community,然后通过指示下一步安装,安装成功后打开,并点击"connect"连接

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第4张
下载官网
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第5张
mongodb数据库

e.接下来通过代码连接数据库,要下载依赖mongoose,在Koa-server目录下新建db文件夹,在里面操作连接数据库,然后在app.js中引入并调用,连接状态在控制台中可以查看,相关代码如下:

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第6张
定义连接数据库
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第7张
调用连接数据库

f.接下来要新建controllers(控制层)、modules(模块层)、routes(路由层)文件夹,如果有则忽略,并且在对应文件夹下新建user.js用来用户自己控制,相关代码如下(以注册用户register也就是CRUD中的C):

controllers主要是写对应模块接口的逻辑

modules主要是定义数据库字段

routes定义接口路径

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第8张
modules层users.js
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第9张
controllers/users.js
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第10张
route/user.js路由层

g: 然后在postman中访问localhost:9000/users/register,然后传入入参,查看结果,如果反复注册会有重复校验

{?

? ?"username": "张三",

? ? "password": "ad45213",

? ? "email": "4546@qwe.com"

}

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第11张
postman调用接口结果

二、vue3+vite+ts+elementPlus搭建前台联调接口

1.利用vite脚手架搭建项目,选择vue+ts搭建好后,比如文件夹user-manager,然后cd到这个目录,下载依赖,yarn dev运行可以看到页面出来(vite对Node版本有要求)

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第12张
脚手架vite搭建项目
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第13张
运行页面

2.下载Element-plus sass axios插件,并且根据Element官网推荐的按需导入的方式下载npm install-D unplugin-vue-components unplugin-auto-import插件并将其配置在vite.config.ts中,如下图所示

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第14张
按需加载element-ui

3.配置文件别名alias,并且需要在node.config.json文件加入这行,才能解析

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第15张
node.config.json文件

4.新建utils文件夹并在里面新增request.ts接口文件,引入axios然后对接口做请求拦截、响应处理,并增加.env.development文件配置环境变量(需要在package.json文件里面scipts脚本里面运行加上 --mode development才能解析, 且环境变量命名需要以VITE开头,否则解析不到),在文件中使用需要加import.meta.env.如下图所示

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第16张
request.ts文件
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第17张
环境变量
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第18张
接口文件

5.由于后端服务和本地服务端口号不一致,会存在跨域,因此需要在vite.config.ts中配置proxy代理,调用接口

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第19张
配置文件代理部分

6.前端页面配置table表、以及弹窗表单form,调用后端接口

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第20张
接口引用
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第21张
接口调用

7.页面效果要先动后端服务,看控制台连接数据库成功后,然后启动前端服务

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第22张
列表页

8. 接下来操作新增用户,点击新增按钮,然后填入信息保存,列表页刷新

【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第23张
表单输入内容
【完整生态】koa2+mongodb+vue3+vite+ElementPlus,第24张
新增页面

总结: 至此前后端联通,其余删除、修改就不一一展示,本文后端服务主要是借鉴作者:标成的好文(https://www.jianshu.com/p/7d14d202757a)

源码

? ? 后端服务:?https://gitee.com/mike_zhang1/koa-server.git

? ? 前端服务:https://gitee.com/mike_zhang1/user-manager.git


https://www.xamrdz.com/backend/3j91929053.html

相关文章: