Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否使用LevelDB适配器创建本地文件?_Javascript_Node.js_Electron_Pouchdb - Fatal编程技术网

Javascript 是否使用LevelDB适配器创建本地文件?

Javascript 是否使用LevelDB适配器创建本地文件?,javascript,node.js,electron,pouchdb,Javascript,Node.js,Electron,Pouchdb,本手册示例()使用的是一个“idb”适配器,对于electron/node,我想使用一个“leveldb”适配器。所以我按照这里的说明: 在Node.js中,适配器的情况比浏览器中简单得多。通过 默认情况下,如果您创建一个类似这样的数据库: var PACKUP=新的PACKDB('./path/to/db') 然后,将在目录中创建一个基于LevelDB的数据库 ./path/to/db。LevelDB实现使用LevelDOWN 在我的“main.js”(Electron入口点)中,我创建了如下

本手册示例()使用的是一个“idb”适配器,对于electron/node,我想使用一个“leveldb”适配器。所以我按照这里的说明:

在Node.js中,适配器的情况比浏览器中简单得多。通过 默认情况下,如果您创建一个类似这样的数据库:

var PACKUP=新的PACKDB('./path/to/db')

然后,将在目录中创建一个基于LevelDB的数据库 ./path/to/db。LevelDB实现使用LevelDOWN

在我的“main.js”(Electron入口点)中,我创建了如下db:

var dbPath = path.join(__dirname, 'main-db');
var myDB = new PouchDB(dbPath);
console.log('myDB', myDB.adapter);
虽然适配器类型报告为“leveldb”,但它不会显示在磁盘上


问题:数据库是在哪里创建的?我已经查看了我的应用程序目录,在node_modules/pockDB目录中。我甚至寻找过“隐藏文件”(这是在OSX上)。有什么好处?如果我将db实例转储到控制台,它看起来像是在内存中创建的。我是不是“做错了”

结果是我出了两件事

  • 我使用的路径不正确。尽管我试图从附加到我的应用程序文件夹中index.html文件的Javascript文件中创建PockDB实例,但此路径不起作用:
    。/db/todo db'
    。我能够使用以下路径创建db实例:
    。/app/db/todo db'

    我觉得这很奇怪,我不明白。
    \uuu dirname
    报告我的JS上下文是
    './path/to/app/
    ——因此我已经在app文件夹中了

  • 我收到一条错误消息,说明为其编译levelDB(我请求的适配器)的节点版本不匹配。我可以通过在安装后调用中使用来解决此问题:

  • 在my package.json中:

      "scripts": {
        "start": "electron .",
        "postinstall": "electron-rebuild",
       etc.
      }
    

    是的,它应该创建本地文件夹/文件。
    console.log(dbPath)
    为您提供了什么路径?@Marc–谢谢。是的,这似乎(至少部分)是一个路径问题。我能够在我的
    main.js
    中创建数据库,它出现在磁盘上。在我的
    index.html