# taro_vite_react_mobx_node_express_sequelize **Repository Path**: drm/taro_vite_react_mobx_node_express_sequelize ## Basic Information - **Project Name**: taro_vite_react_mobx_node_express_sequelize - **Description**: 整合Taro、Vite、React、MobX、Node.js和Express等技术栈的全栈开发仓库,适用于快速构建高效响应式的前后端分离应用。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-06-11 - **Last Updated**: 2026-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚀 多端一体化开发平台 一个基于 Taro + Vite + React + MobX + Node.js + Express + Sequelize 的全栈开发项目,支持微信小程序、Web 应用、Tauri 桌面端、服务端 API 的多端统一开发。 ## 📱 项目架构 ### 技术栈 - **前端框架**: Taro 3.x + React 18 - **状态管理**: MobX 6.x - **构建工具**: Vite(Web / Tauri)、Taro CLI(小程序) - **UI 组件**: NutUI + Ant Design - **后端服务**: Node.js + Express 4.x - **数据库**: PostgreSQL + Sequelize ORM - **开发语言**: TypeScript 全面覆盖 ### 项目结构 ``` srcMiniprogram/ # 微信小程序源码 srcWeb/ # Web 前端应用 srcAdmin/ # 管理后台应用(与 srcWeb 共用构建入口 admin.html) srcService/ # Node.js 后端服务 api/ # API 接口定义 types/ # 全局类型定义 src-tauri/ # Tauri 桌面端壳(Rust 源码与配置) ``` ## 🚀 快速开始 ### 环境要求 - Node.js ≥ 16.0.0 - PostgreSQL ≥ 12 - 微信开发者工具(仅小程序开发需要) - Rust 工具链 + Tauri CLI(仅桌面端开发需要) ### 配置文件说明 #### 前端 / 桌面端构建配置(Vite,单一文件) | 配置文件 | 说明 | |---------|------| | `vite.config.ts` | 统一的 Vite 构建配置,**同时服务 Web 前端与 Tauri 桌面端**。通过环境变量 `BUILD_TARGET`(取值 `web` 或 `tauri`,默认 `web`)区分两端,差异仅在于 HTML 入口与 dev server 端口(Web: 5301 / Tauri: 5001) | | `config/vite-service-runtime-transform.ts` | 自定义 Vite 插件,用于在浏览器构建中转换 `srcService` 服务端代码 | #### Taro 小程序配置 | 配置文件 | 说明 | |---------|------| | `config/` | Taro 框架配置文件夹,仅用于微信小程序开发 | **注意:** 小程序使用 Taro 配置(`config/`),Web 与 Tauri 共用统一的 `vite.config.ts`,两者不能混用,需根据开发场景选择。Tauri 开发时由 `src-tauri/tauri.conf.json` 的 `beforeDevCommand` 自动以 `BUILD_TARGET=tauri` 调用该配置,无需手动指定。 ### 安装依赖 ```bash # 安装所有依赖 npm install ``` ### 全局依赖说明 > `@vercel/ncc` 已作为 devDependency 安装,`npm run build` 会自动调用,无需手动全局安装。`node-gyp` 仅在编译含原生模块(如 `canvas`、`sqlite3` 等)的依赖时才需要,一般无需安装。 ```bash npm i -g @vercel/ncc # 可选:如希望全局使用 ncc ``` ### 访问地址 | 环境 | 访问地址 | |------|----------| | 开发时前端 | http://localhost:5301/ | | 开发时后台 | http://localhost:5301/admin.html | | Tauri 桌面端 | http://localhost:5001/tauri.html | | 生产环境 | https://www.3dkeshihua.com/taro_vite_react_mobx_node_express_sequelize/ | ### 开发启动 #### 微信小程序开发 ```bash # 启动小程序开发模式 npm run dev:weapp ``` 构建完成后,导入 `dist-miniprogram` 到微信开发者工具 #### Web 前端开发 ```bash # 启动 Web 开发服务器(端口 5301) npm run dev ``` #### 生产构建 ```bash # Web 生产构建(含后端 ncc 打包) npm run build ``` #### 后端服务开发 ```bash # 启动服务端(端口 4201,自动清理占用端口) npm run server ``` ### 环境配置 #### 数据库配置 1. 创建 PostgreSQL 数据库 2. 复制 `.env.example` 为 `.env`(项目暂未提供模板,可参考下列变量自行创建) 3. 配置数据库连接: ```env DB_HOST=localhost DB_PORT=5432 DB_NAME=your_database DB_USER=your_username DB_PASSWORD=your_password ``` #### 微信小程序配置 1. 配置 `project.config.json` 中的 appid 2. 设置合法域名(开发环境可使用本地 IP) ## 📋 可用脚本 | 命令 | 说明 | | ----------------------- | ---------------------- | | `npm run dev` | Web 开发服务器(端口 5301) | | `npm run server` | 启动后端服务(端口 4201) | | `npm run unitTest` | 运行后端功能自测脚本 | | `npm run build` | Web 生产构建 + 后端 ncc 打包 | | `npm run dev:weapp` | 小程序开发模式 | | `npm run build:weapp` | 小程序生产构建 | | `npm run dev:h5` | 小程序 H5 开发模式 | | `npm run build:h5` | 小程序 H5 生产构建 | | `npm run tauri:dev` | Tauri 桌面端开发(自动以 BUILD_TARGET=tauri 调用 Vite) | | `npm run tauri:build` | Tauri 桌面端生产构建 | | `npm run deploy` | 执行部署脚本 | ## 🔧 开发规范 ### 代码规范 - TypeScript(当前 `tsconfig.json` 未开启严格模式,按需逐步开启) - 后端采用 `ServiceBase` 约定优于配置:统一 `POST` 路由、命名 `get_/write_/del_`、统一响应与错误处理 ### 分支管理 - `main`: 生产分支 - `develop`: 开发分支 - `feature/*`: 功能分支 ### 提交规范 ``` feat: 新功能 fix: 修复问题 docs: 文档更新 style: 代码格式 refactor: 代码重构 test: 测试相关 chore: 构建过程或辅助工具的变动 ``` ## 🗄️ 数据库结构 数据库模型统一定义在 `srcService/component/database.ts`(约 21 张表,启动时智能同步)。核心表结构: - `user`: 用户基础信息 - `oss_file`: OSS 文件记录 - `dataset`: 数据集 - `agent`: AI 智能体配置 - `conversation`: 对话记录 - `mcp_server_config`: MCP 服务配置 > 完整表定义见 `srcService/component/database.ts`。 ## 🐛 常见问题 ### 微信小程序 - **构建失败**: 检查 `project.config.json` 配置 - **网络请求失败**: 检查合法域名配置 ### 后端服务 - **端口占用**: 使用 `npm run server` 会自动清理端口 4201 - **数据库连接失败**: 检查 `.env` 配置和 PostgreSQL 服务 ### 类型错误 - 确保所有依赖类型已安装 - 类型检查可在 IDE 中开启,或在构建时由 Vite / ts-node 暴露 ## 📚 技术文档 ### 微信小程序 - [Taro 官方文档](https://taro.zone/) - [微信小程序开发文档](https://developers.weixin.qq.com/miniprogram/dev/framework/) ### 后端服务 - [Express.js 指南](https://expressjs.com/zh-cn/guide/routing.html) - [Sequelize 文档](https://sequelize.org/docs/v6/) ## 🤝 贡献指南 1. Fork 本项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'feat: 添加新功能'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 创建 Pull Request ## 📄 许可证 本项目采用 ISC 许可证(见 `package.json` 中的 `license` 字段)。 ## 👥 联系方式 - 项目维护: [Your Name](mailto:your.email@example.com) - 问题反馈: [GitHub Issues](https://github.com/yourusername/yourproject/issues) ---