Electron JS + SQLite数据库

时间:2017-04-01 22:23:30

标签: sqlite electron electron-builder

我有一个使用本地sqlite数据库的Electron JS应用程序。 sqlite数据库是项目文件夹结构(lib文件夹)中的文件。该应用程序在测试期间工作得很好,但是当我在Mac上构建应用程序并启动.dmg文件时,它会收到错误消息,说它无法找到.sqlite数据库。

有没有办法让我在我的项目中使用sqlite数据库?或者是否有更简单的方法在Electron应用程序中进行本地存储?

谢谢。

2 个答案:

答案 0 :(得分:1)

我发现这可以通过将SQLite文件写入本地用户的目录来完成:

const electron = require('electron');
const path = require('path');
const userDir = (electron.app || electron.remote.app).getPath('userData');
const dbPath = path.join(userDir, 'mydb.sqlite');

答案 1 :(得分:0)

您必须在 buildResources 中添加 extraResources package.json 才能在生产中获取 SQLite 文件。

"build": {
  "appId": "com.app.app",
  "productName": "Electron APP",
  "files": [
    "build/**/*"
  ],
  "directories": {
    "buildResources": "build"
  },  
  "extraResources": [
    {
      "from": "./db/",
      "to": "db/",
      "filter": [
        "**/*"
      ]
    }
  ],
},