pouchdb 未在 linux 上使用 electron 和 leveldb 创建本地数据库
pouchdb not creating local DB with electron and leveldb on linux
我正在使用 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) 上的同一个项目时,没有任何反应,没有为数据库创建文件夹,chrome 开发工具中没有错误记录。
我是否遗漏了一些东西来完成这项工作?我尝试删除我的 node_modules 文件夹并重新安装。
编辑:不要在意底部的问题,似乎我在使用 promises 时没有发现错误。添加一个 catch 将错误记录到我的 devtools,这是我试图破坏一个不存在的数据库。
当我尝试执行类似 .destroy()
、
的操作时
productsDB.destroy().then(() => { });
再次在开发工具中没有任何反应,但在我的终端上记录错误。
Empty response arrived for script 'devtools://devtools/remote/serve file...
并且多次出现
Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry...
我在对路径进行了大量测试后弄明白了,如果文件夹尚不存在,linux 似乎不喜欢它。所以要么先创建文件夹,要么不指定数据库路径
var productsDB = new PouchDB("products");
我正在使用 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) 上的同一个项目时,没有任何反应,没有为数据库创建文件夹,chrome 开发工具中没有错误记录。
我是否遗漏了一些东西来完成这项工作?我尝试删除我的 node_modules 文件夹并重新安装。
编辑:不要在意底部的问题,似乎我在使用 promises 时没有发现错误。添加一个 catch 将错误记录到我的 devtools,这是我试图破坏一个不存在的数据库。
当我尝试执行类似 .destroy()
、
productsDB.destroy().then(() => { });
再次在开发工具中没有任何反应,但在我的终端上记录错误。
Empty response arrived for script 'devtools://devtools/remote/serve file...
并且多次出现
Uncaught (in promise) Error: Could not instantiate: ProductRegistryImpl.Registry...
我在对路径进行了大量测试后弄明白了,如果文件夹尚不存在,linux 似乎不喜欢它。所以要么先创建文件夹,要么不指定数据库路径
var productsDB = new PouchDB("products");