- Add GoManager service for downloading and managing Go versions - Implement Go version detection and installation - Add GoManager Vue component with version selection UI - Update main process to handle Go-related IPC calls - Add Jest testing configuration and GoManager unit tests - Update service store to include Go management - Add routing for Go manager page - Include Kiro specs and steering documentation
84 lines
2.1 KiB
Markdown
84 lines
2.1 KiB
Markdown
# 技术栈和构建系统
|
|
|
|
## 核心技术栈
|
|
|
|
### 前端框架
|
|
- **Vue 3**: 使用 Composition API 和 `<script setup>` 语法
|
|
- **TypeScript**: 严格类型检查,配置在 `tsconfig.json`
|
|
- **Element Plus**: UI 组件库,提供现代化界面组件
|
|
- **Vue Router 4**: 单页面应用路由管理
|
|
- **Pinia**: 状态管理,替代 Vuex
|
|
|
|
### 桌面应用框架
|
|
- **Electron**: 主进程和渲染进程架构
|
|
- **IPC 通信**: 主进程与渲染进程间的安全通信
|
|
- **electron-store**: 应用配置持久化存储
|
|
|
|
### 构建工具
|
|
- **Vite**: 现代化构建工具,支持热重载
|
|
- **vite-plugin-electron**: Electron 集成插件
|
|
- **electron-builder**: 应用打包和分发
|
|
|
|
### 开发工具
|
|
- **Jest**: 单元测试框架,配置在 `jest.config.js`
|
|
- **vue-tsc**: Vue 组件类型检查
|
|
- **Sass**: CSS 预处理器,支持主题变量
|
|
|
|
## 常用命令
|
|
|
|
### 开发环境
|
|
```bash
|
|
# 启动开发服务器
|
|
npm run dev
|
|
|
|
# 类型检查
|
|
npm run typecheck
|
|
|
|
# 运行测试
|
|
npm run test
|
|
npm run test:watch
|
|
```
|
|
|
|
### 构建和打包
|
|
```bash
|
|
# 构建生产版本(自动更新 patch 版本)
|
|
npm run build
|
|
|
|
# 指定版本更新类型
|
|
npm run build:patch # 1.0.0 -> 1.0.1
|
|
npm run build:minor # 1.0.0 -> 1.1.0
|
|
npm run build:major # 1.0.0 -> 2.0.0
|
|
|
|
# 不更新版本号直接打包
|
|
npm run build:nobump
|
|
|
|
# 构建前进行类型检查
|
|
npm run build:check
|
|
```
|
|
|
|
## 关键依赖
|
|
|
|
### 生产依赖
|
|
- `axios`: HTTP 客户端
|
|
- `unzipper`: 文件解压缩
|
|
- `node-windows`: Windows 服务管理
|
|
- `sudo-prompt`: 管理员权限提升
|
|
|
|
### 开发依赖
|
|
- `concurrently`: 并行运行多个命令
|
|
- `fast-check`: 属性测试库
|
|
- `ts-jest`: TypeScript Jest 支持
|
|
|
|
## 构建配置
|
|
|
|
- **输出目录**: `dist` (前端), `dist-electron` (Electron)
|
|
- **图标**: `build/icon.ico`
|
|
- **安装包**: 生成到 `release` 目录
|
|
- **目标平台**: Windows x64 (NSIS 和 Portable)
|
|
|
|
## 开发注意事项
|
|
|
|
- 使用 `windowsHide: true` 隐藏命令行窗口
|
|
- 服务启动使用 VBScript 实现静默启动
|
|
- 需要管理员权限进行服务管理和 hosts 文件修改
|
|
- 支持开机自启动(任务计划程序) |