Electron + Vite + Vue 桌面应用模板

一个现代化的桌面应用开发模板,基于Electron、Vite和Vue 3。

特性

  • 📦 Electron - 构建跨平台桌面应用
  • Vite - 闪电般的构建和热更新
  • 🖖 Vue 3 - 渐进式JavaScript框架
  • 🎨 Element Plus - 现代化UI组件库
  • 🌍 国际化 - 多语言支持
  • 🎭 主题切换 - 亮色/暗色主题
  • 🗄️ 数据库支持 - 内置SQLite数据库

预览


开发环境

前提条件

  • Node.js >= 16
  • npm >= 8

安装

bash 复制代码
# 克隆仓库
git clone https://gitee.com/jl15988/electron-vite-vue-template.git
cd electron-vite-vue-template

# 安装依赖
npm install

开发

bash 复制代码
# 启动开发服务器
npm run dev

在开发模式下,应用会自动打开开发者工具并提供实时热更新支持。

构建

bash 复制代码
# 构建应用
npm run build

构建完成后,可在dist目录找到打包好的应用。

功能

自定义窗口标题栏

应用使用自定义窗口标题栏,提供最小化、最大化和关闭按钮。

国际化支持

应用支持多语言切换功能:

  • 中文
  • 英文
  • 可轻松扩展添加其他语言

主题切换

支持亮色和暗色主题切换,并记住用户的主题选择。

侧边栏导航

提供可折叠的侧边栏导航,在空间有限时保持良好的用户体验。

开发者工具

在开发模式下提供丰富的开发工具:

  • 性能监控 (FPS、内存使用)
  • 应用重载
  • 环境变量查看
  • 开发者工具切换

数据库管理

内置SQLite数据库支持,提供完整的数据库管理界面:

  • 数据库基本信息查看(版本、路径、表数量等)
  • 表列表展示及记录统计
  • 表结构查看
  • 表数据浏览(支持分页和搜索)
  • SQL查询和执行工具
  • 数据库操作API封装

项目结构

复制代码
├── electron/            # Electron 主进程代码
│   ├── db/              # 数据库相关代码
│   │   ├── models/      # 数据模型
│   │   ├── services/    # 数据服务
│   │   └── ...          # 数据库管理类和工具
│   ├── ipc/             # IPC 通信处理
│   ├── main.ts          # 主进程入口
│   └── preload.ts       # 预加载脚本
├── public/              # 静态资源
├── src/                 # 渲染进程源代码
│   ├── assets/          # 资源文件
│   ├── components/      # Vue 组件
│   ├── i18n/            # 国际化配置
│   ├── router/          # 路由配置
│   ├── stores/          # Pinia 状态管理
│   ├── types/           # TypeScript 类型定义
│   ├── views/           # 页面视图
│   │   ├── Database.vue # 数据库管理界面
│   │   └── ...          # 其他页面
│   ├── App.vue          # 根组件
│   ├── main.ts          # 渲染进程入口
│   └── style.css        # 全局样式
└── vite.config.ts       # Vite 配置

扩展指南

添加新页面

  1. src/views/ 创建新的页面组件
  2. src/router/index.ts 添加路由配置
  3. src/components/AppLayout.vue 添加导航项

添加新语言

  1. src/i18n/ 创建新的语言文件(复制现有文件并翻译)
  2. src/i18n/index.ts 中导入新语言并添加到支持列表

添加新数据模型

  1. electron/db/models/ 创建新的数据模型类
  2. electron/db/services/ 创建相应的服务类
  3. electron/ipc/dbHandlers.ts 添加相关IPC处理函数
  4. electron/preload.ts 暴露API给渲染进程

延伸(数据库ORM工具)

为了方便数据库操作延伸开发了SQLite的ORM工具

博客:《一个轻量级的 SQLite ORM 工具包》

项目地址:https://gitee.com/jl15988/quicklite

相关推荐
爱吃大芒果3 小时前
Flutter for OpenHarmony 实战:mango_shop 路由系统的配置与页面跳转逻辑
开发语言·javascript·flutter
qq_177767373 小时前
React Native鸿蒙跨平台实现消息列表用于存储所有消息数据,筛选状态用于控制消息筛选结果
javascript·react native·react.js·ecmascript·harmonyos
沐雪架构师3 小时前
LangChain 1.0 Agent开发实战指南
开发语言·javascript·langchain
2501_940007894 小时前
Flutter for OpenHarmony三国杀攻略App实战 - 战绩记录功能实现
开发语言·javascript·flutter
摘星编程4 小时前
React Native + OpenHarmony:自定义useEllipsis省略号处理
javascript·react native·react.js
这是个栗子4 小时前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说4 小时前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
方也_arkling5 小时前
elementPlus按需导入配置
前端·javascript·vue.js
爱吃大芒果5 小时前
Flutter for OpenHarmony 实战: mango_shop 资源文件管理与鸿蒙适配
javascript·flutter·harmonyos
David凉宸5 小时前
vue2与vue3的差异在哪里?
前端·javascript·vue.js