一个基于 Next.js 14 + TypeScript + Tailwind CSS 构建的现代化购物网站。
- 商品展示: 支持商品分类筛选和无限滚动加载
- 商品详情: 详细的商品信息展示页面
- 购物车: 完整的购物车功能,支持商品数量修改和删除
- 用户系统: 简单的用户登录状态管理
- 响应式设计: 适配各种设备屏幕
- 图片懒加载: 优化页面加载性能
- SEO 友好: 完善的 SEO 优化配置
- 框架: Next.js 14 (App Router)
- 语言: TypeScript
- 样式: Tailwind CSS
- 状态管理: Zustand
- 图标: Lucide React
- 数据源: Fake Store API
- 部署: Vercel
- 克隆项目
git clone <repository-url>
cd shopping-website- 安装依赖
npm install- 启动开发服务器
npm run dev- 打开浏览器访问 http://localhost:3000
src/
├── app/ # Next.js App Router 页面
│ ├── cart/ # 购物车页面
│ ├── login/ # 登录页面
│ ├── products/ # 商品相关页面
│ │ └── [id]/ # 商品详情页面
│ ├── layout.tsx # 根布局
│ └── page.tsx # 首页
├── components/ # 可复用组件
│ ├── Header.tsx # 头部导航
│ ├── ProductCard.tsx # 商品卡片
│ ├── LazyImage.tsx # 懒加载图片
│ └── AddToCartButton.tsx # 添加到购物车按钮
├── lib/ # 工具库
│ └── api.ts # API 接口
├── store/ # 状态管理
│ ├── cartStore.ts # 购物车状态
│ └── userStore.ts # 用户状态
└── types/ # TypeScript 类型定义
└── index.ts
- 首页 (
/): 展示推荐商品和网站特色 - 商品列表 (
/products): 支持分类筛选的商品列表 - 商品详情 (
/products/[id]): 详细的商品信息页面 - 购物车 (
/cart): 购物车管理页面 - 登录 (
/login): 用户登录页面
- 支持按分类筛选商品
- 滚动到底部自动加载更多商品
- 响应式网格布局
- 添加/删除商品
- 修改商品数量
- 实时计算总价
- 本地存储购物车状态
- 简单的登录验证
- 登录状态持久化
- 未登录用户引导登录
- 图片懒加载
- 代码分割
- SEO 优化
- 将代码推送到 GitHub
- 在 Vercel 中导入项目
- 自动部署完成
或使用 Vercel CLI:
npm i -g vercel
vercel登录页面支持任意用户名和密码登录(演示用途)
欢迎提交 Issue 和 Pull Request!
MIT License