Skip to content

👔React实现的电子商城项目A e-commerce mall project built with react@^15.6.1

Notifications You must be signed in to change notification settings

tsejx/react-ecommerce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React实现服装商城项目

走马灯

走马灯

首页

此处输入图片的描述

类目页

类目页

搜索页

搜索页

商品详情页

商品详情页

购物车

购物车

技术栈

详情可参阅 package.json

  • React @15.6.1
  • React Route @4.1.1
  • SemanticUI
  • MockJS
  • Axios
  • Webpack
  • ES6 + Babel
  • Sass

快速开始

安装

需要安装 NodeJS

在项目根目录按住 Shift 键鼠标右键点击,打开命令窗口

在命令窗口输入 npm install 安装依赖

运行

安装依赖完成后,在命令窗口输入 npm start ,稍等片刻等待服务器启动与项目打包

如无意外,默认浏览器就会自动打开 localhost:8080 ,您立即可以看到项目效果

若浏览器没有自动弹出,则请自行手动访问

项目架构

目录结构

.
├─ config/            # Webpack 配置目录
├─ doc/               # 文档相关目录
├─ src/               # 源码目录(开发都在这里进行)
│   ├─ assets/        # 静态文件目录
│   │   ├─ font/      # 字体文件
│   │   ├─ img/       # 图片文件
│   │   ├─ style/     # 样式文件
│   ├─ components/    # 组件(COMPONENT)
│   │   ├─ carousel/  # 走马灯组件
│   │   ├─ cart/      # 购物车组件
│   │   ├─ footer/    # 页脚组件
│   │   ├─ header/    # 页头组件
│   │   ├─ home/      # 主页组件
│   │   ├─ main/      # 类目页组件
│   │   ├─ nav/       # 导航菜单组件
│   │   ├─ popup/     # 提示框组件
│   │   ├─ product/   # 详情页组件
│   │   ├─ scroll/    # 鼠标滑动组件
│   │   ├─ user/      # 用户信息组件
│   ├─ data/          # 数据目录
│   ├─ router/        # 路由(ROUTER)
│   ├─ utils/         # 工具库(UTIL)
│   ├─ app.js         # 启动文件
│   ├─ index.html     # 静态基页
├── .babelrc          # Babel 转码配置
├── debug.log         # 操作日志文件
├── package.json      # npm 配置

说明

  • 利用 Webpack 构建工具搭建项目开发环境
  • 利用 React + Babel 开发基于ES6模块化的JavaScript应用
  • 利用 Semantic-ui-React 界面开发框架搭建语义化的架构
  • 利用 Sass 预编译器 编写页面样式
  • 利用 React-Route 实现应用页面的跳转路由
  • 利用 MockJS 随机生成应用数据,模拟前后端交互情景
  • 利用 Axios HTTP库完成数据请求
  • 利用 Ant Motion 实现首页轮播图以及各种动效设计
  • 利用 原生JS中 DOM、BOM 实现顶部工具栏滚动固定以及回到顶部功能

技术难题

  1. 用flex布局实现首页热卖品栏目、分类页商品展示栏目、搜索页展示栏目的样式一致,难度不高,但是比较复杂,要顾及到特定的场景
  2. 由route管理的兄弟组件之间的通信(利用route的children属性加载组件)
  3. 跨祖先级的组件间的数据交互(例如详情页添加商品到购物车与购物车页面的商品展示等)
  4. 利用mock随机生成大量数据,并在需要进行数据交互的组件内利用axios进行数据交互,并通过props、state等进行父子组件间数据通信

About

👔React实现的电子商城项目A e-commerce mall project built with react@^15.6.1

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published