Vite5+Electron+SQLite3+Vue3 工程搭建
总结摘要
2025年最新Electron框架搭建指南
1 组件说明
操作系统:windows 11
| 组件 | 版本 | 说明 |
|---|---|---|
| Vite | 5.1.6 | 前端构建工具 |
| ESLint | 9.25.1 | 代码问题发现和修复共建 |
| Prettier | 3.5.3 | 一个流行的开源代码格式化工具 |
| TypeScript | 5.2.2 | 一种由微软开发的自由开源编程语言,它是 JavaScript 的一个超集 |
| Electron | 30.0.1 | 构建跨平台桌面应用程序的开源框架 |
| better-sqlite3 | 11.9.1 | SQLite数据库驱动 |
| Prisma | 6.9.0 | ORM 框架 |
| Vue3 | 3.4.21 | 用于构建用户界面的渐进式JavaScript框架 |
| Vue Router | 4.5.0 | 是 Vue.js 的官方路由管理器 |
| Element Plus | 2.9.7 | 基于 Vue 3 的企业级 UI 组件库 |
| Pinia | 3.0.1 | 用于 Vue 的状态管理库 |
| Tailwind CSS | 4.1.3 | 一个高度可定制的、低级别的 CSS 框架 |
| Axios | 1.8.4 | 一个基于 Promise 的 HTTP 客户端 |
| Zod | 3.24.3 | 用于 TypeScript 和 JavaScript 的类型定义和数据验证库 |
2 Node.js 安装配置
本文的Node.js版本号v20.19.0,请先进行安装,推荐用nvm安装管理,网上教程较多不再赘述。
[[1-nodejs环境安装配置]]
2.1 加速镜像配置
- 打开npm的配置文件
- 在空白地方添加淘宝镜像,下面三个(缺什么补什么,但要是同一个公司单位的镜像)
3 搭建项目
| |
3.1 配置 Vite
3.1.1 设置静态文件拷贝
根据需要配置需要打包的静态文件,此处示例目的为打包初始化用的sql脚本。
| |
vite.config.ts文件做以下修改
3.1.2 配置目录别名、不去除console.info/warn/error和sever
vite.config.ts文件做以下修改,此时端口已更改且默认打开浏览器
| |
3.2 配置 TypeScript
tsconfig.json做以下修改
| |
3.3 配置 ESLint
用于语法检查。
- 安装
- 配置命令
- 初始化配置
| |
- 配置eslint.config.js
- 对于
typescript的更多规则配置,你可以在 这里 找到。- 还推荐用
@stylistic/eslint-plugin这个插件来提供更多的typescript和JavaScript的语法风格规则
- VSCode 安装 ESLint 插件,让VSCode可以根据配置规则进行提示。
- 安装Prettier,用于格式化。
| |
- 在
vite.config.js中进行配置:
| |
- 命令行使用
3.4 配置 better-sqlite3(废弃,走prisma)
- 安装
- 修改package.json中的scripts
- 遇到问题
| |
3.5 配置 Prisma
- 安装
- 初始化Prisma生成 prisma/schema.prisma 文件
| |
- prisma/schema.prisma 文件
| |
- 将定义的模型推送到数据库并生成客户端
- 初始化上步生成的prisma cleint
| |
- 其它相关命令
| |
- 使用prisma客户端
| |
3.6 配置日志
- 安装
- 定义日志工具类
| |
- 覆盖console原生函数
| |
- 渲染进程入口中类似方式覆盖console原生函数
3.7 配置路由
- 安装生产依赖
| |
- 创建
src/router文件夹,内部创建index.ts
| |
- 创建
src/views文件夹,下一级创建src/views/login文件夹,自行创建对应文件index.vue - 创建
src/views/detail文件夹,创建文件routes.ts
| |
- main.ts引用路由
app.vue文件引入<router-view/>
3.8 配置 Pinia
- 安装生产依赖
- 创建“src/stores”文件夹,内部创建use-user.ts,内容如下
| |
login中的index.vue修改为
| |
detail中的entry.vue修改为
| |
main.ts中引入pinia
此时
login组件操作,可修改pinia,detail组件会获取到pinia状态
| |
3.9 配置 Element Plus
- 安装
vite.config.ts做更改
| |
3.10 配置 Tailwind CSS
- 安装
- 创建"src/styles"文件夹,内部创建“index.css"文件,内容如下
| |
- main.ts 引入tailwindcss
| |
- 配置vite.config.ts,内容如下
- 如有需要可以在“src/styles/index.css"中通过扩展配置相关变量
3.11 配置 Axios
- 安装
| |
3.12 配置 JWT
- 安装
3.13 配置自动更新
- 安装
| |
- 在 electron-builder.json5 文件增加以下配置
配置一个能公网访问的地址,可以考虑使用github或者通过nginx等自建静态资源服务。
- 新增Initupdater.ts文件
| |
- 渲染主进程
渲染进程
- preload.ts
- App.vue
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15//App.vue import { ElMessage, ElMessageBox } from 'element-plus' window.electron.ipcRenderer.once('update-available', () => { ElMessage.warning('发现新版本,正在下载...') }) window.electron.ipcRenderer.on('update-downloaded', () => { ElMessageBox.confirm('下载完成,是否立即安装更新?', '更新提醒', { confirmButtonText: '更新', cancelButtonText: '取消', type: 'warning' }).then(() => { window.electron.ipcRenderer.send('install-update') }) })
4 问题记录
4.1 问题一
| |
4.1.1 解决方式
4.2 问题二
4.2.1 解决方式
- 将连接中的文件下载后拷贝到“C:\Users\XX\AppData\Local\electron\Cache”下。
4.3 问题三
4.3.1 解决方式
- 将连接中的文件下载后拷贝到“C:\Users\XX\AppData\Local\electron-builder\Cache\winCodeSign”下,并按文件名解压到同名目录下。
4.4 问题四
- nsis-resources下载失败。
4.4.1 解决方式
- 同上操作,注意:nsis-resources和nsis为同一目录nsis下。
5 参考资料
- vue3+vite+eslint|prettier+elementplus+国际化+axios封装+pinia_vue3 prettier-CSDN博客
- Vue 3 + TypeScript + Vite项目配置ESLint9 + Prettier + Husky + lint-staged + commitlint_eslint9 vue3 prettier-CSDN博客
- electron.vite 项目创建以及better-sqlite3数据库使用_electron-rebuild better-sqlite3 打包后 运行无响应-CSDN博客
- 找不到Windows SDK 版本 10.0.22621.0_找不到 windows sdk 版本 10.0.22621.0。请安装所需版本的 windows s-CSDN博客
- 使用electron+vue3+ts+vite搭建桌面端项目使用electron+vue3+ts+vite搭建桌面端项目 - 掘金
- ORM:prisma介绍 Prisma 创造了一种 DSL(Domain Specific Language,领域特定语 - 掘金