Loading...
winget install --id=xishang0128.Sparkle -e
Another Mihomo GUI.
Sparkle 基于 Electron + React + TypeScript 构建
git clone https://github.com/xishang0128/sparkle.git
cd sparkle
pnpm install
# 如果 Electron 没有正确安装,执行以下命令
cd node_modules/electron
node install.js
cd ../..
pnpm dev
windows 开发时可能会出现页面白屏,关闭 tun(虚拟网卡)即可
sparkle/
├── src/
│ ├── main/ # Electron 主进程
│ │ ├── core/ # 内核管理
│ │ ├── config/ # 配置管理
│ │ ├── resolve/ # 解析器
│ │ ├── sys/ # 系统集成
│ │ └── utils/ # 工具函数
│ ├── renderer/ # Electron 渲染进程(前端界面)
│ │ ├── src/
│ │ │ ├── assets/ # 静态资源
│ │ │ ├── components/ # React 组件
│ │ │ ├── pages/ # 页面组件
│ │ │ ├── hooks/ # 自定义 hooks
│ │ │ ├── routes/ # 路由配置
│ │ │ └── utils/ # 前端工具
│ │ └── index.html # 渲染进程入口 HTML
│ ├── preload/ # Electron 预加载脚本(进程间通信桥梁)
│ │ ├── index.ts # 预加载脚本主文件
│ │ └── index.d.ts # 预加载脚本类型定义
│ └── shared/ # 共享类型定义
│ └── types.d.ts # 全局类型定义文件
├── resources/ # 应用资源文件
├── build/ # 构建配置
├── extra/ # 额外资源
├── dist/ # 构建输出目录
├── electron-builder.yml # 打包配置
├── package.json # 项目配置
└── README.md # 项目说明
pnpm dev
- 启动开发服务器(前端热重载,后端需要手动重启)pnpm typecheck
- TypeScript 类型检查pnpm typecheck:node
- 主进程类型检查pnpm typecheck:web
- 渲染进程类型检查pnpm lint
- 运行代码检查pnpm format
- 格式化代码pnpm build:win
- 构建 Windows 版本pnpm build:mac
- 构建 macOS 版本pnpm build:linux
- 构建 Linux 版本pnpm prepare
- 准备构建环境pnpm postinstall
- 安装 Electron 依赖根据目标平台准备相应的构建环境:
Windows 构建:
pnpm build:win
macOS 构建:
pnpm build:mac
Linux 构建:
pnpm build:linux
指定架构:
pnpm build:win --x64/--arm64
pnpm build:mac --arm64/--x64
pnpm build:linux --x64/--arm64
指定产物类型:
pnpm build:win 7z/nsis
pnpm build:linux deb/rpm/pacman
pnpm build:mac pkg/dmg
指定架构和产物类型:
pnpm build:win --x64 7z
pnpm build:mac --arm64 pkg
pnpm build:linux --x64 deb
.exe
安装包和 .7z
便携版.pkg
安装包.deb
、.rpm
、.pacman
等格式本项目使用 pnpm 作为包管理器。
确保使用 pnpm 9.0.0 或更高版本:
pnpm --version
确保使用 Node.js 20.0.0 或更高版本:
node --version
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)pnpm format
格式化代码