完善架构,修改很多地方

This commit is contained in:
编码猿
2025-10-04 00:08:33 +08:00
parent 3c66faf9a7
commit ff925d458a
32 changed files with 576 additions and 1602 deletions

View File

@@ -9,6 +9,10 @@
本案例中 **[主应用]** 采取的就是OOP风格当然如果你不熟悉上面的写法那么可以在
【其他模块】中使用Vue2Vue3都行但仍然需要遵守DDD的规范进行开发
## 架构图
![架构图](./doc/jgt.png)
## 开发日记
- [x] 基于DDD理念改造
@@ -39,6 +43,7 @@
- [docker](https://www.docker.com/)
- [drone](https://drone.cool/)
- [nacos](https://nacos.io/?spm=5238cd80.47ee59c.0.0.189fcd36fF0ca9)
- [traefik](https://traefik.io/)
- [nginx](https://nginx.org/)
- [Vue3](https://cn.vuejs.org/)
- [Jsx](https://legacy.reactjs.org/docs/introducing-jsx.html)
@@ -68,7 +73,7 @@
└── README.md # 帮助文档
```
** DDD前端分层目录**
**DDD前端分层目录**
```txt
src/
@@ -228,39 +233,21 @@ export default class Header extends TSX<Props>()(Vue) implements Props {
}
```
## ~~【失效】运行 & 打包~~
## 部署
```bash
# 1 下载代码
git clone https://gitee.com/bmycode/dddmicro-frontend.git
需要后端或运维参与,请注意咨询阅读文档,大致步骤如下:
# 2 运行后端
cd back-end # 进入 后端 文件夹
deno install # 安装依赖
deno run dev # 运行后端
**全局准备工作:**
# 3 运行前端
cd front-end # 进入 前端 文件夹
pnpm install # 会同时为 所有模块 安装依赖
pnpm add -g concurrently # 全局安装 并发命令执行 插件,局部安装也行,随你。
pnpm run all # 构建 app-product 和 app-shared 并启动预览,并开发阶段启动 main-app 模块
# 注意:命令跑完后 ctrl + c 停止,重跑一次!!因为子模块内命令并发执行预览跑在构建之前,解决办法很简单,后面再搞。
pnpm run all
# 打开 main-app 主模块访问地址即可:[http://localhost:1300/](http://localhost:1300/)
- 1: 准备 >=8台Linux服务器并提前安装配置好Docker确保网络可用建议安装 [1panel](https://1panel.cn/)
- 2: 在1台Linux服务器上部署公司自己的 Docker Registry 镜像存储库
- 3: 准本 N台运行 前端各模块 的Linux服务器并提前组成N个Docker Swarm 集群,以供前端各模块部署使用
- 4: 准本 >=3台运行 Nacos服务中心 的Linux服务器并提前组成Docker Swarm 集群,提前运行好,确保服务可用
- [Nacos 部署文档](./docker/nacos-cluster/README.md)
- 5: 准本 一台 运行 traefik 网关的Linux服务器提前运行好确保服务可用
- [Traefik 部署文档](./docker/traefik/README.md)
# 4 部署上线
pnpm run build:main # 构建并预览主应用预览打包后的主应用没问题ctrl + c 停止。
# 子模块在 第三步 已经打包好了,不需要重新打包了。
# 上传部署 各模块内的 dist/ 文件夹到服务器上,注意修改 vite.config.ts 内 plugins.federation.remotes.xxx 的地址!
# 后期会实现集中管理 地址配置,并根据环境变量动态加载!!
**前端工作:**
```
## 问 & 答
**问: 为什么vue项目要抛弃SFC写法而尝试jsx/tsx方式来编码**
> https://juejin.cn/post/6911175470255964174
**问:不会 vue3 jsx 语法,怎么办?**
> 答https://juejin.cn/post/7141674726434439176
详细请看 **front-end/xxx/README.md** 内的帮助文档!!!