小米商城移动端全栈项目开发实战经验

小米商城移动端全栈项目开发实战经验

前言

在本篇博客中,我将分享如何构建一个类似于小米商城的移动端全栈项目。项目采用前后端分离的架构,后端使用了 Nest.js 框架,数据库选择 MySQL 来存储用户信息和商品数据。前端通过 ** Fetch** 与后端进行数据交互,确保数据的实时性与准确性。作为一个刚刚学习 Nest.js 的开发者,在项目开发过程中遇到了不少问题,并通过实践找到了相应的解决方案。希望这篇博客能对正在进行全栈开发的你有所帮助。

小米商城地址: 点击这里<<<

项目目录结构

在开始项目之前,了解项目的目录结构是非常重要的。以下是本项目的目录结构及其说明: mishop/ ├── dist/ # 编译后的输出文件 ├── node_modules/ # 项目依赖的模块 ├── public/ # 前端静态资源 │ ├── CSS/ # 样式文件 │ │ ├── all.css │ │ ├── home.css │ │ ├── login.css │ │ ├── my.css │ │ ├── shopping.css │ │ ├── sort.css │ ├── html/ # HTML页面 │ │ ├── Home.html │ │ ├── login.html │ │ ├── my.html │ │ ├── shopping.html │ │ ├── sort.html │ │ └── Rice-Circle.html │ └── images/ # 图片资源 ├── src/ # 后端源码 │ ├── goods/ # 商品相关模块 │ ├── swiper/ # 轮播图模块 │ ├── user/ # 用户模块 │ │ ├── user.controller.ts │ │ ├── user.entity.ts │ │ ├── user.module.ts │ │ ├── user.service.ts │ ├── app.controller.ts # 应用控制器 │ ├── app.controller.spec.ts # 控制器测试文件 │ ├── app.module.ts # 应用模块 │ ├── app.service.ts # 应用服务 │ └── main.ts # 应用入口 ├── .eslintrc.js # ESLint配置 ├── .gitignore # Git忽略文件 ├── .prettierrc # Prettier配置 ├── nest-cli.json # Nest CLI配置 ├── package-lock.json # 依赖锁定文件 ├── package.json # 项目依赖和脚本 ├── README.md # 项目说明文件 ├── tsconfig.build.json # TypeScript构建配置 └── tsconfig.json # TypeScript配置

目录说明:

dist/:存放编译后的后端代码。

node_modules/:项目的依赖模块,由 npm 或 pnpm 管理。

public/:存放前端的静态资源,包括CSS、HTML和图片。

CSS/:存放各个页面的样式文件。

html/:存放各个页面的HTML文件。

images/:存放项目所需的图片资源。

src/:后端源码目录。

goods/:商品相关的模块,负责商品数据的管理。

swiper/:轮播图模块,管理首页的轮播图数据。

user/:用户模块,处理用户的注册、登录等功能。

其他文件如 app.controller.ts、app.module.ts 等是Nest.js应用的核心文件。

其他配置文件如 .eslintrc.js、.prettierrc 等用于代码规范和格式化。

注意事项

小米商城移动端项目主要针对移动设备开发,如果您在PC端进行访问,需要使用浏览器的移动模拟器来查看效果:

按下 F12 进入开发者工具。

按下 Ctrl + Shift + M 切换到移动设备模式。

否则,您可能会被重定向到小米官网。

1. 引入 Nest.js

首先,确保您的电脑已安装 Node.js,安装 Node.js 时会附带 npx 和 npm。接下来,使用以下命令全局安装 Nest CLI 并创建新项目:

pnpm i -g @nestjs/cli # 全局安装 Nest CLI

nest new mishop # 创建项目

在创建项目过程中,选择使用 pnpm 作为包管理工具。如果遇到问题,可以切换到 npm。 创建完成后,项目结构会自动生成。接下来,我们需要设置数据库,并在数据库中创建相应的表,最后通过 Nest.js 连接数据库。

2. 连接数据库

创建数据库与表

我选择使用 MySQL 作为数据库,并使用 phpMyAdmin 或 MySQL Workbench 创建数据库和表。以下是我创建的主要表结构:

goods:商品信息

users:用户信息

swiper:轮播图数据

配置数据库连接

在项目根目录下安装

相关推荐