客户端开发(Electron)数据存储

简介: 客户端开发(Electron)数据存储

  Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。


前言:


    数据存储在应用开发中也是必不可少的一块功能,在Electron开发中支持将数据持久化到本地文件中,浏览器提供的介质和SQLite数据库中,SQLite作为一款轻量级的关系数据存储在移动端开发中也广泛应用。


本地文件存储:


存储目录:

  • 因为不通的系统的文件目录不统一,Electron提供了专有的API来方便我们获取目录(app.getPath("userData");
  • 常见的用户目录:
  • desktop、documents、downloads、pictures、music、video
  • 特殊的文件目录:
  • temp对应系统临时文件夹路径。
  • ·exe对应当前执行程序的路径。
  • ·appData对应应用程序用户个性化数据的目录。
  • userData是appData路径后再加上应用名的路径,是appData的子路径。这里说的应用名是开发者在package.json中定义的name属性的值。
  • 系统默认目录:
  • 当前用户的主目录:require('os').homedir(); / C:\Users\<username>
  • 默认临时文件目录:require('os').homedir(); / C:\Users\<username>\AppData\Local\Temp


文件读写操作:

  • 确定文件目录:
const dataPath = path.join(app.getPath('userData'), 'data.json')
复制代码
  • 文件写入:
fs.writeFileSync(
    dataPath,
    JSON.stringify({ username: "admin", version: "0.0.1" }),
    { encoding: "utf-8" }
);
复制代码
  • 文件读取:
const content = fs.readFileSync(dataPath, { encoding: "utf-8" });
console.log("[ content ] >", content);
复制代码


第三方库使用:


SQLite数据存储:


  • 安装node-sqlite3扩展:
npm install sqlite3 --build-from-source --runtime=electron --target=13.6.9 --dist-url=https://atom.io/download/electron
复制代码
  • 安装knexjs扩展:
npm install knex --save
复制代码
  • 《因sqlite未安装成功,调试后补充》这个地方真是一路坑,有没有踩过坑的留个地址😭


总结:


    以上就是在Electron开发关于数据的存储方式,不同的数据适用于不同的方式存储,在实际开发中可灵活运用,浏览器储存的方式就不再进行介绍了。



目录
打赏
0
0
0
0
71
分享
相关文章
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
如何用uniapp打包桌面客户端exe包,vue或者uni项目如何打包桌面客户端之electron开发-优雅草央千澈以开源蜻蜓AI工具为例子演示完整教程-开源代码附上
745 18
electron35-vue3-deepseek客户端流式输出AI对话系统
Electron35-DeepSeek桌面端AI系统|vue3.5+electron+arco客户端ai模板。2025跨平台ai实战electron35+vite6+arco仿DeepSeek/豆包ai流式打字聊天助手。
190 3
开发桌面程序-Electron入门
【10月更文挑战第16天】Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用的框架,嵌入了 Chromium 和 Node.js。本文介绍了如何搭建 Electron 开发环境,包括安装 Node.js、创建项目、配置 main.js 和打包应用。通过简单的步骤,你可以快速创建并运行一个基本的 Electron 应用程序。
433 4
开发桌面程序-Electron入门
electron多标签页模式更像客户端
electron多标签页模式更像客户端
666 7
electron多标签页模式更像客户端
我的 Electron 客户端被第三方页面入侵了
公司有个内部项目是用 Electron 来开发的,有个功能需要像浏览器一样加载第三方站点。 本来一切安好,但是某天打开某个站点的链接,导致 整个客户端直接变成了该站点的页面。 这一看就是该站点做了特殊的处理,经排查网页源码后,果然发现了有这么一句代码。
PC端01,桌面端,electron的开发,electron的开发的系列课程,软件开发必备流程,electron的讲解,electron的开发,vitepress博主的gitee链接,PC端效率软件
PC端01,桌面端,electron的开发,electron的开发的系列课程,软件开发必备流程,electron的讲解,electron的开发,vitepress博主的gitee链接,PC端效率软件
PC端01,桌面端,electron的开发,electron的开发的系列课程,软件开发必备流程,electron的讲解,electron的开发,vitepress博主的gitee链接,PC端效率软件
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
219 0
从零开始开发图床工具:使用 Gitee 和 Electron 实现上传、管理和分享(下)
从零开始开发图床工具:使用 Gitee 和 Electron 实现上传、管理和分享(下)
398 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问