Uncaught TypeError: PouchDB is not a constructor

Uncaught TypeError: PouchDB is not a constructor

我很难理解这个错误:Uncaught TypeError: PouchDB is not a constructor

代码如下:

var PouchDB = require("pouchdb");
var db = new PouchDB("scr");

我读过它与类型的关系,并添加:

 "@types/node": "^10.12.0",
 "@types/pouchdb": "^6.3.2",

对我的 package.json 应该有帮助,但事实并非如此。我已经在另一个简单的 .js 文件上进行了测试并且可以正常工作,但在我的主应用程序上却没有。不过,我不明白为什么它不起作用。邮袋文档非常​​清楚 https://pouchdb.com/api.html#create_document.

我应该提到我 运行 这是在电子应用程序的上下文中,而不是在浏览器中。

我现在很困惑,任何帮助将不胜感激。干杯!

对于没有构造函数的情况,使用 .default

const PouchDB = require('pouchdb').default;

我找到了解决方案here

将 PouchDB 与 Typescript 一起使用:

安装 PouchDB

  1. npm 安装 pouchdb-browser
  2. npm install --save-dev @types/pouchdb-browser

添加到您的源文件

  1. 在“导入”部分的顶部

    const PouchDB = require('pouchdb-browser');

    const pouchDB = PouchDB.default.defaults();

  2. 实例化数据库

    const db = new pouchDB('MyDB');

剩下的就是here.

改变: var PouchDB = require('pouchdb');

致: 从 'pouchdb'

导入 PouchDB