mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
1.5 KiB
1.5 KiB
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
开发与构建
安装
$ pnpm install
开发
$ pnpm dev
构建
# For windows
$ pnpm build:win
# For macOS
$ pnpm build:mac
# For Linux
$ pnpm build:linux