项目结构
本页面介绍 Emoji Fusion 项目的文件结构和组织方式。了解项目结构将帮助您更容易地导航和修改代码。
目录结构
项目的主要目录结构如下:
emoji-fusion/
├── src/
│ ├── components/ # React组件
│ │ ├── emoji/ # 表情相关组件
│ │ └── layout/ # 布局组件
│ ├── hooks/ # 自定义React Hooks
│ ├── utils/ # 工具函数和辅助方法
│ ├── styles/ # 样式文件
│ └── server/ # Express服务器代码
├── data/ # Emoji数据和更新脚本
├── public/ # 静态资源
├── netlify/ # Netlify部署配置
│ └── functions/ # Netlify函数
└── .github/ # GitHub Actions工作流配置核心模块
前端组件 (src/components)
前端组件按功能分为几个主要目录:
emoji/: 包含与表情符号相关的所有组件EmojiPicker.tsx: 表情选择器组件EmojiSelectionSection.tsx: 表情选择区域FusionResult.tsx: 显示融合结果MainContent.tsx: 主要内容区域ActionButtons.tsx: 操作按钮组
layout/: 包含布局相关组件PageLayout.tsx: 页面整体布局PageHeader.tsx: 页面头部PageFooter.tsx: 页面底部EmojiQuantumField.tsx: 3D粒子效果背景
自定义 Hooks (src/hooks)
useEmojiApi.ts: 处理表情API调用和状态管理
工具函数 (src/utils)
emojiUtils.ts: 提供表情处理、Unicode转换和URL生成等功能
服务器端 (src/server)
server.ts: Express服务器,提供API端点和静态文件服务
数据 (data)
emojimix_data.json: 表情组合数据update_emoji_data.py: 更新表情数据的Python脚本
构建配置
vite.config.ts: Vite构建配置tailwind.config.js: Tailwind CSS配置postcss.config.js: PostCSS配置tsconfig.json: TypeScript配置
部署配置
Dockerfile: Docker容器配置docker-compose.yml: Docker Compose配置netlify.toml: Netlify部署配置.github/workflows/: GitHub Actions工作流配置
代码组织原则
Emoji Fusion 项目遵循以下组织原则:
- 组件化设计: 将UI分解为可重用的组件
- 关注点分离: 将逻辑、UI和样式适当分离
- 模块化服务: 将后端功能组织为模块化服务
- 自动化流程: 使用CI/CD自动化测试和部署
- 配置文件集中: 将关键配置集中在根目录
了解这些原则和结构将帮助您更好地理解项目,以便进行扩展或修改。