mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
56 lines
1.5 KiB
Markdown
56 lines
1.5 KiB
Markdown
# LanMontainDesktop
|
||
|
||
一个使用 Electron 打包的桌面应用:前端采用 Vue 3(Renderer),主进程内置 Elysia.js 作为本地后端服务(Main)。
|
||
|
||
## 技术栈
|
||
|
||
- Electron + electron-vite(主进程/构建/开发)
|
||
- Vue 3 + Vite + TypeScript(渲染进程 UI)
|
||
- Elysia.js + @elysiajs/node(主进程内的本地后端 API)
|
||
|
||
## 架构说明
|
||
|
||
这个项目不是传统意义上“浏览器前端 + 远程后端”的部署形态,而是:
|
||
|
||
- 主进程(Electron Main)负责创建窗口,并启动 Elysia.js(HTTP Server 绑定到 127.0.0.1 的随机端口)。
|
||
- 预加载(Preload)通过 `ipcRenderer.invoke('eiysia:request', ...)` 把“类 HTTP 请求”转发到主进程里的 Elysia 路由。
|
||
- 渲染进程(Vue 3 Renderer)通过 `window.api.call({ method, path, body })` 调用后端接口(例如 `/apps/list`、`/apps/launch`、`/open/external`)。
|
||
|
||
## 目录结构(关键)
|
||
|
||
- `src/main/`:Electron 主进程入口(创建窗口、启动 Elysia 服务)
|
||
- `src/preload/`:Preload 桥接层(暴露 `window.api`)
|
||
- `src/renderer/`:Vue 3 渲染进程(UI 与交互)
|
||
- `src/eiysia/`:Elysia.js “后端”路由与启动逻辑
|
||
|
||
## 推荐 IDE
|
||
|
||
- VSCode + Volar(Vue Language Features)+ ESLint + Prettier
|
||
|
||
## 开发与构建
|
||
|
||
### 安装
|
||
|
||
```bash
|
||
$ pnpm install
|
||
```
|
||
|
||
### 开发
|
||
|
||
```bash
|
||
$ pnpm dev
|
||
```
|
||
|
||
### 构建
|
||
|
||
```bash
|
||
# For windows
|
||
$ pnpm build:win
|
||
|
||
# For macOS
|
||
$ pnpm build:mac
|
||
|
||
# For Linux
|
||
$ pnpm build:linux
|
||
```
|