如何使用电子访问生产中的 sqlite3 数据库文件?
How can I access the sqlite3 database file in production with electron?
我有一个 electron 应用程序,我将它与 create-electron-app
.
一起使用
我的电子主进程文件驻留在public文件夹中,我的sqlite3数据库.[=13也是如此=]
当我在开发中引用数据库时,它按预期工作,因为我可以访问路径:
F:\www\project-name\public\api\db\demodb01
但在生产中路径不存在(隐藏在 app.asar 后面我会说):
C:\Users\userName\AppData\Local\Programs\project-name\resources\app.asar\build\api\db\demodb01
如何在生产中定位数据库文件?
在您的应用程序中存储文件时,您应该使用 app.getPath('userData') 将它们存储在您的应用程序范围之外,这样可以使它们持久化。
nedb 是 Electron 应用程序的常见选择,因为它是用 JavaScript 编写的轻量级数据库。如果您还没有检查过,我建议您检查一下。
您还有另一种解决方案。请按照以下步骤操作:
首次安装electron-is-dev
在您的 main.js 文件中添加这些代码:
main.js
现在 package.json 进行以下显着更改:
package.json
谢谢。
我有一个 electron 应用程序,我将它与 create-electron-app
.
我的电子主进程文件驻留在public文件夹中,我的sqlite3数据库.[=13也是如此=]
当我在开发中引用数据库时,它按预期工作,因为我可以访问路径:
F:\www\project-name\public\api\db\demodb01
但在生产中路径不存在(隐藏在 app.asar 后面我会说):
C:\Users\userName\AppData\Local\Programs\project-name\resources\app.asar\build\api\db\demodb01
如何在生产中定位数据库文件?
在您的应用程序中存储文件时,您应该使用 app.getPath('userData') 将它们存储在您的应用程序范围之外,这样可以使它们持久化。
nedb 是 Electron 应用程序的常见选择,因为它是用 JavaScript 编写的轻量级数据库。如果您还没有检查过,我建议您检查一下。
您还有另一种解决方案。请按照以下步骤操作:
首次安装electron-is-dev
在您的 main.js 文件中添加这些代码: main.js
现在 package.json 进行以下显着更改: package.json
谢谢。