nest全栈项目

项目简介
这是一个全栈小米商城的项目,用到了nest后端数据库 和前端js ,平时有空一点点写出来的,如果有说的不对的地方欢迎指正

一、配置nest

1.全局安装nest

npm i -g @nestjs/cli 

2.创建项目

nest new 项目名

创建完项目后会问你用什么方式来管理依赖包 这里用的npm 安装好了之后用
nest start启动项目 启动成功就是下面这个样子

请添加图片描述

3.连接数据库
这里连接的是mysql 需要本地配置mysql

import { TypeOrmModule } from '@nestjs/typeorm';

4.生成模块
连接到数据库之后创建一个模块用来操作数据库

请添加图片描述
命令:

nest g res 模块名

5.配置连接数据库
在app.module.ts里连接数据库 完成一些基本配置请添加图片描述

import { TypeOrmModule } from '@nestjs/typeorm';

在main.ts文件里可以给全局路由加上一个前缀请添加图片描述

二、项目实践

1.首页
这是前端的静态页面,我们把轮播图通过调数据库的方式来渲染

请添加图片描述

我这里创建好了一个数据库,用来存储首页轮播图的图片,这里调用数据库的好处就是方便以后维护修改 直接在数据库里更换图片就好了

请添加图片描述

在创建一个轮播图的模块名叫swiper,在swiper.entity.ts文件里面添加实体,实体是一个映射到数据库的数据表请添加图片描述

swiper.entity.ts配置 这里必须要和我们数据库数据一一对应
请添加图片描述
swiper.controller.ts配置 轮播图渲染需要获取数据库里的数据 所以我们用get请求

返回所有数据

 return await this.swiperService.findAll()

请添加图片描述
前端用axios.get发送get请求来获取数据库数据,我们可以把获取到的数据库的数据打印出来看一下请添加图片描述
打印出来的数据是个数据 所以我们可以用循环的方式来渲染轮播图

请添加图片描述
2、分类
首先看下静态页面 分类页面有一个tab栏切换的功能,也就是说要根据不同的选项渲染出不一样的数据
请添加图片描述

在输入指令nest g res classification 创建模块

请添加图片描述
这里需要获取数据库的所有数据 所以也是在classification.module.ts里面将get设置成return await this.classificationService.findAll();

请添加图片描述要根据不同的tab栏渲染出不一样的数据 我就想到了条件判断 这里我就创建了一个数据库 数据的父id等于tab栏的id。请添加图片描述

所以我们前端可以这样写 首先渲染tab栏 并把id设置成数据库里的父id

请添加图片描述

然后在设置渲染内容,首先循环数据库数据,在判断当点击的dom元素的id等于数据库里的数据时就渲染相对应地数据

请添加图片描述
点击事件,将每次点击dom元素的id传给render 默认渲染第一个
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值