我正在使用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 ...
我在对路径进行了大量测试后得出了结论,如果该文件夹尚不存在,似乎linux不喜欢它。因此,要么先创建文件夹,要么不为数据库指定路径
var productsDB = new PouchDB("products");