
Electron+Typeorm+Sqlite3实践
7 分钟阅读
-- 阅读
-- 评论
背景
Electron关于本地数据的存储一般分为以下几类:
JSON存储:推荐库electron-store,支持JS中对象方式的访问,并且直接加密,但是有需求对于数据的频繁读写性能不是很好;localStorage/IndexedDB存储:- 本地数据库: 比如
sqlite,配置简单无需服务器,数据库直接访问单一文件即可,数据保存在本地以及能进行,但是数据库一般需要写sql,所以本文主要介绍在electron中链接sqlite3以及不需要sql的主流解决方案orm;
Core NPM Packages
默认安装electron以及渲染进程需要的相关代码,还需要:
npm install @electron/rebuild better-sqlite3 typeorm
Electron rebuild
该package主要是根据 Electron 项目所使用的 Node.js 版本重建原生 Node.js 模块,由于better-sqlite3内置的node版本可能跟项目本身使用的node版本不一样,所以需要rebuild,可以在packages.json中设置:
⚠️: 每次install依赖后可能都需要rebuild一次!否则会导致后续数据库启动失败!
Use sqlite3 & Typeorm
这里选择了better-sqlite3:
- 新建文件夹
dataBase以及文件index.ts:
- 数据库初始化
- 新建表实体
在
dataBase中新建文件夹entities用来存储业务对应的表,一下是新建一个配置表config.ts:
- 在第一步的
dataBase文件中修改entities字段注入实体:
- 新建
service文件夹处理不用表中的对应事务:
- IPC调用事务,通过前端的IPC请求区分不同的事务:
前端调用,比如react中:
Example
评论 (0)
使用 GitHub 登录后发表评论
Loading...