Electron学习之旅4,渲染进程require模块fs失败 ,查看electron自身node版本,fs.promises,Elec的getPath(),持久化保存数据

一、渲染进程require模块fs失败


打印出来是空对象。
经过查阅electron issue,
原因:webpack在打包时截胡了require(‘fs’),使其去找node_modules下的fs,其实是不存的。
解决方案如下:
在这里插入图片描述

二、查看electron自身node版本

在electron进程中,有全局对象process
控制台打印。process.versions.node

三、fs.promises // 使文件操作支持promise

Electron学习之旅4,渲染进程require模块fs失败 ,查看electron自身node版本,fs.promises,Elec的getPath(),持久化保存数据_第1张图片

四、Elec的getPath()

electron主进程app,app.getPath() 可以获取
Electron学习之旅4,渲染进程require模块fs失败 ,查看electron自身node版本,fs.promises,Elec的getPath(),持久化保存数据_第2张图片
渲染进程可以用 remote引入,然后使用主进程的app.getPath()方法,获取各种路径
在这里插入图片描述

五、持久化保存数据

1、数据库软件的方案
2、浏览器相关的解决方案 // storage indexDB
3、使用文件系统去保存

electron自身也提供了第三方库去持久化保存数据

electrons-store

主进程和渲染进程都可以使用。
简单用法:
Electron学习之旅4,渲染进程require模块fs失败 ,查看electron自身node版本,fs.promises,Elec的getPath(),持久化保存数据_第3张图片
还可以支持Schema判断,详见官网

张轩大大的使用代码:

Electron学习之旅4,渲染进程require模块fs失败 ,查看electron自身node版本,fs.promises,Elec的getPath(),持久化保存数据_第4张图片
(new Store({name: ‘Files Data’}))创建了Files Data仓库,存(set)了files对象。Electron学习之旅4,渲染进程require模块fs失败 ,查看electron自身node版本,fs.promises,Elec的getPath(),持久化保存数据_第5张图片
userData位置:
windows默认生成的文件位置在 C:\Users\lenovo\AppData\Roaming\对应工程目录

注: Files Data.json充当数据库的作用。存储的path是才真实文件的位置,当然也是需要动态传入的。

你可能感兴趣的:(Electron学习之旅4,渲染进程require模块fs失败 ,查看electron自身node版本,fs.promises,Elec的getPath(),持久化保存数据)