108 lines
2.4 KiB
Markdown
108 lines
2.4 KiB
Markdown
# Urban Lifeline Web 微前端项目
|
||
|
||
基于 Import Maps 的微前端架构,包含共享模块和多个业务应用。
|
||
|
||
## 📦 项目结构
|
||
|
||
```
|
||
urbanLifelineWeb/
|
||
├── packages/
|
||
│ ├── shared/ # 共享模块 (端口 5000)
|
||
│ ├── platform/ # 主平台应用 (端口 5001)
|
||
│ ├── bidding/ # 招标管理应用 (端口 5002)
|
||
│ └── workcase/ # 案例管理应用 (端口 5003)
|
||
└── package.json
|
||
```
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 1. 安装依赖
|
||
|
||
```bash
|
||
# 一键安装所有包的依赖
|
||
npm run install:all
|
||
|
||
# 或单独安装
|
||
npm run install:shared
|
||
npm run install:platform
|
||
npm run install:bidding
|
||
npm run install:workcase
|
||
```
|
||
|
||
### 2. 启动开发服务器
|
||
|
||
```bash
|
||
# 同时启动所有服务
|
||
npm run dev:all
|
||
|
||
# 或单独启动
|
||
npm run dev:shared # http://localhost:5000
|
||
npm run dev:platform # http://localhost:5001
|
||
npm run dev:bidding # http://localhost:5002
|
||
npm run dev:workcase # http://localhost:5003
|
||
```
|
||
|
||
### 3. 构建生产版本
|
||
|
||
```bash
|
||
# 构建所有应用
|
||
npm run build:all
|
||
|
||
# 或单独构建
|
||
npm run build:shared
|
||
npm run build:platform
|
||
npm run build:bidding
|
||
npm run build:workcase
|
||
```
|
||
|
||
## 🌐 端口分配
|
||
|
||
| 服务 | 端口 | 说明 |
|
||
|------|------|------|
|
||
| Shared | 5000 | 共享组件和工具库 |
|
||
| Platform | 5001 | 主平台应用 |
|
||
| Bidding | 5002 | 招标管理应用 |
|
||
| Workcase | 5003 | 案例管理应用 |
|
||
|
||
## 🔧 技术栈
|
||
|
||
- **框架**: Vue 3.5 + TypeScript
|
||
- **构建工具**: Vite 6.0
|
||
- **UI 组件库**: Element Plus 2.9
|
||
- **状态管理**: Pinia 2.2
|
||
- **路由**: Vue Router 4.5
|
||
- **工具库**: VueUse
|
||
|
||
## 📝 开发说明
|
||
|
||
### Import Maps
|
||
|
||
本项目使用 Import Maps 实现模块共享:
|
||
|
||
```html
|
||
<script type="importmap">
|
||
{
|
||
"imports": {
|
||
"@shared/components": "http://localhost:5000/shared/components.js",
|
||
"@shared/utils": "http://localhost:5000/shared/utils.js",
|
||
"@shared/api": "http://localhost:5000/shared/api.js"
|
||
}
|
||
}
|
||
</script>
|
||
```
|
||
|
||
### API 代理
|
||
|
||
所有应用的 `/api` 请求会代理到后端服务 `http://localhost:8080`
|
||
|
||
### 跨域配置
|
||
|
||
开发环境下所有服务已启用 CORS,支持跨域访问。
|
||
|
||
## 🔥 注意事项
|
||
|
||
1. **启动顺序**: 建议先启动 `shared` 服务,再启动其他应用
|
||
2. **端口占用**: 确保 5000-5003 端口未被占用
|
||
3. **Node 版本**: 建议使用 Node.js 18+
|
||
4. **依赖安装**: 首次运行前必须执行 `npm run install:all`
|