一个基于多框架的菜谱预览应用,支持 Angular、Vue 和 React 版本,共享核心业务逻辑。
core/
├── packages/
│ └── core/ # 共享核心包 @cook/core
│ ├── src/
│ │ ├── models/ # 数据模型
│ │ ├── services/ # 业务逻辑服务
│ │ ├── utils/ # 工具函数
│ │ └── config/ # 配置管理
│ └── package.json
├── apps/
│ ├── angular-app/ # Angular 应用
│ ├── vue-app/ # Vue 应用
│ └── react-app/ # React 应用
├── scripts/
│ └── build-deploy.js # 统一构建脚本
└── package.json # Monorepo 根配置
# 安装所有依赖
pnpm install
# 构建核心包
pnpm build:core
# 构建所有应用
pnpm build:all
# 构建部署版本
pnpm run deploy:build# 开发 Angular 应用
pnpm dev:angular
# 开发 Vue 应用
pnpm dev:vue
# 开发 React 应用
pnpm dev:react- 数据模型: 统一的 TypeScript 接口定义
- API 服务: 框架无关的业务逻辑
- 主题服务: 多主题支持(亮色/暗色/自定义)
- 工具函数: 文本处理、路径处理、Markdown 解析
import {
Recipe,
RecipeCategory,
BaseCookApiService,
BaseThemeService
} from '@cook/core';- TypeScript
- Marked (Markdown 解析)
- Angular 20
- Angular Material
- RxJS
- SCSS
- Vue 3
- Element Plus
- Pinia
- Vite
- React 18
- Ant Design
- React Router
- Vite
pnpm run deploy:build这将创建 deploy/ 目录,包含:
index.html- 框架选择页面angular/- Angular 应用vue/- Vue 应用react/- React 应用
- 主页:
/- 框架选择页面 - Angular:
/angular/- Angular 版本 - Vue:
/vue/- Vue 版本 - React:
/react/- React 版本
支持三种主题模式:
- 明亮模式: 适合日间使用
- 暗黑模式: 适合夜间使用
- 自定义模式: 多种预设主题
所有框架版本都针对移动端进行了优化:
- 响应式设计: 适配各种屏幕尺寸
- 触摸友好: 优化的按钮和交互元素
- 性能优化: 针对移动设备的加载和渲染优化
- 主题切换: 移动端友好的主题切换体验
- 在
@cook/core中添加共享逻辑 - 在各框架应用中实现适配器
- 更新构建脚本
- 在
apps/下创建新应用目录 - 实现框架特定的适配器
- 更新构建脚本和路由配置
欢迎提交 Issue 和 Pull Request!
MIT License