【问题标题】:pouchdb not creating local DB with electron and leveldb on linuxpouchdb 没有在 Linux 上使用电子和 leveldb 创建本地数据库
【发布时间】:2020-03-01 07:23:48
【问题描述】:

我正在使用PouchDB 为我的应用程序存储数据,以便在需要时离线工作。它在我的 Windows 开发机器上运行良好,我在创建和使用数据库时没有问题。

这是我的代码

const PouchDB = require("pouchdb");
PouchDB.plugin(require("pouchdb-find"));

var productsDB = new PouchDB("DB/products"); //executing this line would immediately create a folder for my database inside the same folder as my application

我的项目文件夹最终会有这样的结构

DB
|--products
node_modules
src
package.json

这是我在 package.json 中的依赖项

"pouchdb": "^7.1.1",
"pouchdb-find": "^7.1.1",

节点版本 = 12.13.0

npm 版本 = 6.12.0

但是,当尝试在 ubuntu(18.04.3) 上运行相同的项目时,没有任何反应,没有为数据库创建文件夹,也没有错误登录 chromes 开发工具。

我是否遗漏了一些东西来完成这项工作?我尝试删除我的 node_modules 文件夹并重新安装。

编辑:不要在意我的问题,似乎我在使用 Promise 时没有发现错误。添加一个 catch 将错误记录到我的 devtools 中,这是我试图破坏一个不存在的数据库。

当我尝试执行.destroy() 之类的操作时,

productsDB.destroy().then(() => { });

再次,开发工具中没有任何反应,但我的终端上出现错误登录。

脚本“devtools://devtools/remote/serve file...”的响应为空。

并且多次出现

未捕获(承诺)错误:无法实例化:ProductRegistryImpl.Registry...

【问题讨论】:

    标签: javascript node.js electron pouchdb


    【解决方案1】:

    在对路径进行大量测试后,我已经弄清楚了,如果文件夹还不存在,linux 似乎不喜欢它。所以要么先创建文件夹,要么不为数据库指定路径

    var productsDB = new PouchDB("products");
    

    【讨论】:

      猜你喜欢
      • 2017-08-25
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 2018-07-07
      • 2018-06-11
      • 2015-06-20
      • 1970-01-01
      • 2016-11-27
      相关资源
      最近更新 更多