littlebot
Published on 2025-04-13 / 0 Visits
0

【源码】基于React和Egg.js框架的电商Web应用

项目简介

本项目是基于 React 16.8、Egg.js、MongoDB 和 Zarm 构建的电商 Web 应用,采用前后端完全分离架构,后端提供接口,前端负责数据渲染。适合新手学习电商网站开发流程,代码仍在持续完善。

项目的主要特性和功能

主要特性

  • 前后端完全分离,后端仅提供接口。
  • 前端使用 React Hooks 实现,结合 Redux 进行状态管理。
  • 后端采用 Egg.js 框架,使用 Mongoose 对 MongoDB 数据库进行建模。
  • 运用 Zarm 作为 UI 组件库。

功能

  • 页面展示:涵盖商城首页、商品分类页、登录/注册/找回密码页面、个人中心、商品详情、我的商品收藏、购物车、地址管理、最近浏览、支付页面和全部订单等页面。
  • 业务功能:实现商城首页和商品分类数据的查询与展示、用户注册/登录/找回密码、商品详情展示、商品收藏与取消收藏、加入购物车、个人地址管理、最近浏览记录缓存、购物车商品结算、订单支付与查询以及城市选择与搜索等功能。

安装使用步骤

前提条件

确保本地 Node 版本在 8 以上,且已安装并打开 MongoDB 数据库连接。

后端启动

  1. 进入 egg 目录,打开命令行窗口,运行 cnpm i 安装依赖。
  2. 运行 npm run dev 启动本地服务。
  3. 打开 http://127.0.0.1:7002/data,将数据自动导入数据库(首次运行项目时需进行此操作,看到控制台打印成功后才能继续)。

前端启动

  1. 进入 react 目录,打开命令行窗口,运行 npm i 安装依赖。
  2. 运行 npm run dev 启动项目。

访问项目

在浏览器中打开 http://localhost:8010 即可访问该电商 Web 应用。

接口说明

项目所用到的接口在 react 文件夹下 src 目录的 api 文件夹里面。

跨域处理

在前端目录 react 下的 src 目录下新建文件 setupProxy.js,添加如下代码可解决开发环境的跨域问题(7002 是后台服务端口): js const proxy = require('http-proxy-middleware') module.exports = function (app) { app.use(proxy('/api', { target: 'http://localhost:7002', pathRewrite: { "^/api": "" }, changeOrigin: true, })) // app.use(proxy('/*.svg', { target: 'http://localhost:5000/' })) } 请求接口时直接写后台接口地址,不用加 /api 前缀,/apiaxios 里面请求拦截里面统一封装。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】