Skip to content

[进行中] Vue3 在线商城系统

项目概述

这是一个基于 Vue3 构建的电商平台,参考了小兔鲜教学项目思路。整个开发过程中,我坚持先理解模块设计,再独立编码实现,遇到问题再回看讲解分析,逐步完成从页面构建、数据交互到组件封装、状态管理的各项功能,系统掌握了 Vue3 技术栈的实际应用。

项目目标与功能

这个商城平台采用前后端分离架构设计,前端基于 Vue3 全家桶,模拟了商品浏览、加入购物车、下单结算、用户中心等核心电商流程。虽然是练手项目,但我尽可能地按正式开发的方式去拆解模块、规划目录、编写逻辑,让项目既具完整性也具可维护性。

使用技术与工程配置

项目采用了当前主流的前端工程化方案,包括:

  • 框架核心:Vue3 + Composition API
  • 路由与状态管理:Vue Router 4、Pinia
  • UI 组件与样式:Element Plus + SCSS
  • HTTP 请求管理:Axios 封装 + 拦截器配置
  • 构建与优化:Vite 构建、路由懒加载、图片懒加载(自定义指令)
  • 代码规范自动化:ESLint + Prettier + Husky + lint-staged
  • 版本管理与协作:Git 分支策略、规范化 commit(带校验钩子)

一些值得记录的实现细节

项目里有不少我自己动手调试、摸索出的实现思路,也收获了很多第一手经验,尤其是下面这些:

  • 图片懒加载:基于 VueUse 的 useIntersectionObserver 封装了懒加载指令,显著降低首屏资源压力
  • 路由懒加载:借助动态 import() 将模块按需加载,减少打包体积
  • 组合式函数封装:将复杂逻辑抽离成可复用的 useXxx 函数,提升组件整洁度
  • Pinia 模块拆分:将用户信息、购物车、商品数据拆成独立模块,并结合 localStorage 实现数据持久化
  • Axios 二次封装:统一设置请求基地址、超时、loading 管理、错误提示与 token 注入逻辑

笔记收获

在项目开发过程中,我整理了一些关键技术的学习笔记,以下是部分相关笔记的链接:

虽然项目参考了教程结构,但我采用"先思考再实现"的方式,尽可能用自己的理解去完成每一个模块。整个过程中,我不仅掌握了 Vue3 的核心特性,也开始接触前端项目中更具实际意义的内容:性能优化、代码规范、模块设计与开发流程控制

项目代码已上传至 GitHub,项目已部署在 netlify。
仍在持续迭代中,下一步计划引入 TypeScript、完善订单与支付流程、并进行移动端适配优化。

最后更新于: