一、渲染进程require模块fs失败
打印出来是空对象。
经过查阅electron issue,
原因:webpack在打包时截胡了require(‘fs’),使其去找node_modules下的fs,其实是不存的。
解决方案如下:
二、查看electron自身node版本
在electron进程中,有全局对象process
控制台打印。process.versions.node
三、fs.promises // 使文件操作支持promise
四、Elec的getPath()
electron主进程app,app.getPath() 可以获取
渲染进程可以用 remote引入,然后使用主进程的app.getPath()方法,获取各种路径
五、持久化保存数据
1、数据库软件的方案
2、浏览器相关的解决方案 // storage indexDB
3、使用文件系统去保存
electron自身也提供了第三方库去持久化保存数据
electrons-store
主进程和渲染进程都可以使用。
简单用法:
还可以支持Schema判断,详见官网
张轩大大的使用代码:
(new Store({name: ‘Files Data’}))创建了Files Data仓库,存(set)了files对象。
userData位置:
windows默认生成的文件位置在 C:\Users\lenovo\AppData\Roaming\对应工程目录
注: Files Data.json充当数据库的作用。存储的path是才真实文件的位置,当然也是需要动态传入的。