我创建了一个电子应用程序,并用电子构建器构建它。它在dist文件夹中创建一个包,我可以安装它,然后运行生成的应用程序。
我的项目的根文件夹中有一个sqlite数据库,里面有一些数据。但是,当我打包然后运行exe文件时,似乎没有连接到数据库或它显示为空。如果我只是在没有打包的情况下使用电子运行项目,它就能够连接到数据库并使用数据。
另外,如果访问安装文件夹,我会在应用程序中找到我所拥有的数据库的副本,但不包含任何行。在.asar文件夹中,有一个数据库填充了我想要的但是这个我认为无法编辑。
你能指出导致这种情况的原因吗?如何使用sqlite,sequelize,windows和electron正确连接到项目根文件夹中的数据库?
提前致谢
答案 0 :(得分:1)
electron-builder
未将数据库文件打包到应用程序ASAR中(使用asarUnpack
option)。app.getPath('userData')
返回的位置并使用该副本。您的应用程序通常无权写入安装它的目录。