在打包的电子应用程序中读取文件/数据库

时间:2021-04-09 15:15:50

标签: node.js reactjs electron fs better-sqlite3

我正在尝试使用 react 创建一个电子应用程序,该应用程序将在 raspberry pi 上运行。基本上,该应用程序将是一个智能厨房应用程序,它具有某些内部应用程序(我称之为扩展程序),例如购物清单。我是第一次构建这个程序,发现了一些困难。我遇到的第一个问题是我正在尝试读取文件夹 src/extensions/,以便我可以找出正在使用哪些扩展并将它们添加到程序中。

fse.readdirSync('src/extensions').map((name, i) => new Extension(require(`../extensions/${name}/main`).default(), i))

构建应用程序后,我收到一条错误消息,提示“没有此类文件或目录”。我想暂时解决这个问题,所以我手动添加了有效的目录列表,但随后我在连接到数据库时遇到了错误。

const db = new Database('./src/extensions/Grocery List/db_groceryList.db', { verbose: console.log })

这给了我一个不同的错误提示“无法打开数据库文件”。我想知道我的问题是否是路径名。是否可以在打包的电子文件中读取这样的文件?当我开始这个项目时,我很担心这个,但我想试试看。理想情况下,我希望能够添加/删除扩展而无需重新构建应用程序。有没有办法做到这一点?如果没有,我可以通过硬编码扩展来解决。更重要的是,我如何连接到打包应用程序中的数据库?

此外,每当我尝试滚动时,都会遇到令人讨厌的屏幕撕裂问题,这就是为什么我想尝试构建以查看是否可以解决此问题。它似乎不会发生在常规铬中,而且我有一台性能足够好的计算机,这不应该发生。如果有人能为我指明方向,那就太好了。

0 个答案:

没有答案