pouchdb无法在Linux上用电子和leveldb创建本地数据库

问题描述 投票:0回答:1

我正在使用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文件夹并重新安装。

编辑:没关系,我底部的问题,看来我在使用诺言时没有发现错误。添加捕获将错误记录到我的devtools中,这是我试图破坏不存在的数据库的原因。

[当我尝试执行类似.destroy()

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

同样在开发工具中什么也没有发生,但是在我的终端上记录错误。

收到脚本'devtools:// devtools / remote / serve文件的空响应...

并且多次出现

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

javascript node.js electron pouchdb
1个回答
0
投票

我在对路径进行了大量测试后得出了结论,如果该文件夹尚不存在,似乎linux不喜欢它。因此,要么先创建文件夹,要么不为数据库指定路径

var productsDB = new PouchDB("products");
© www.soinside.com 2019 - 2024. All rights reserved.