https://github.com/caorushizi/electron-template
eectron 模板,开箱即用
https://github.com/caorushizi/electron-template
electron electron-app esbuild vite
Last synced: 2 months ago
JSON representation
eectron 模板,开箱即用
- Host: GitHub
- URL: https://github.com/caorushizi/electron-template
- Owner: caorushizi
- License: mit
- Created: 2023-03-19T03:14:35.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-07-28T14:00:43.000Z (almost 3 years ago)
- Last Synced: 2025-01-06T05:10:23.334Z (over 1 year ago)
- Topics: electron, electron-app, esbuild, vite
- Language: TypeScript
- Homepage:
- Size: 389 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# electron-template
主进程内置: typeorm+sqlite3、electron-log、electron-store
主进程框架:inversify
主进程打包: esbuild
打包构建: electron-builder
---
渲染进程内置:antd、ahooks、redux、react-router
渲染进程框架: react
渲染进程打包: vite
---
运行项目
```shell
# install
pnpm i
# dev
pnpm run dev
# build
pnpm run release
```
---
主进程目录结构
```
│ app.ts 所有 service 初始化
│ global.d.ts 主进程类型定义
│ index.ts 主进程打包的入口
│ interfaces.ts service、controller、repository 定义
│ inversify.config.ts 服务绑定
│ main.d.ts 主进程类型定义
│ preload.ts 与渲染进程交互
│ types.ts 所有服务的类型定义
│
├─controller
│ HomeController.ts controller 定义,主要是与渲染进程交互逻辑
│
├─entity
│ User.ts 实体类
│
├─helper
│ decorator.ts ipc 交互的装饰器方法
│ utils.ts 工具文件
│ variables.ts 主进程常量定义
│
├─repository
│ userRepositoryImpl.ts 实体类资源库
│
└─services
DatabaseServiceImpl.ts 数据库服务
IpcHandlerServiceImpl.ts ipc 通讯服务
LoggerServiceImpl.ts 日志服务
MainWindowServiceImpl.ts 窗口服务
ProtocolServiceImpl.ts 协议注册
SessionServiceImpl.ts electron session
StoreServiceImpl.ts 软件配置服务
UpdateServiceImpl.ts 升级服务
```
渲染进程目录结构
```
│ App.scss
│ App.tsx
│ appSlice.ts
│ index.scss
│ main.tsx
│ renderer.d.ts
│ vite-env.d.ts
│
├─assets
│ .gitkeep
│
├─components
│ .gitkeep
│
├─hooks
│ electron.ts
│
├─nodes
│ └─HomePage
│ index.scss
│ index.tsx
│
├─store
│ index.ts
│
└─utils
http.ts
index.ts
```