electron 未捕获的类型错误:PouchDB不是构造函数

s5a0g9ez  于 2022-12-08  发布在  Electron
关注(0)|答案(4)|浏览(210)

我挣扎着想明白这个错误:未捕获的类型错误:PouchDB不是构造函数
代码如下:

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

我读过有关它可能与类型相关的内容,并认为添加:

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

json应该会有帮助,但它没有。我已经在另一个简单的.js文件上测试过了,它可以工作,但在我的主应用程序上却不行。尽管如此,我还是不明白为什么它不能工作。pouch文档非常清楚https://pouchdb.com/api.html#create_document。
我应该提一下,我是在一个电子应用程序的上下文中运行这个程序的,而不是在浏览器中。
我在这一点上感到困惑,任何帮助将不胜感激。干杯!

c3frrgcw

c3frrgcw1#

我找到了解决方案here
若要搭配Typescript使用PouchDB,请执行下列动作:

安装PouchDB

  1. npm安装pouchdb浏览器
  2. npm安装--save-dev @类型/数据包数据库浏览器

添加到源文件

1.在“导入”部分的顶部
如果您的浏览器是空的,那么您可以使用以下命令:
如果您有任何问题,请使用下面的方法。
1.示例化数据库
数据库类型:
剩下的全是here

ndasle7k

ndasle7k2#

对于不带构造函数的情况,使用.default

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

hjqgdpho3#

如果您的数据库中有一个数据库,那么您可以使用以下命令:
至:从'pouchdb'汇入PouchDB

ifsvaxew

ifsvaxew4#

出现此错误是因为编译器无法从包中获取pouch DB构造函数。

使用pouch DB作为函数,而不使用构造函数:-

  • 在TS文件中导入测试条DB为:-const PouchDB = require('pouchdb').default;
  • 然后运行:npm i --save-dev @types/node命令,从npm注册表安装节点的类型支持。
  • 然后在tsconfig.app.json文件中,在编译器对象中添加"types": ["node"],此步骤用于支持节点类型示例'require'
  • 要示例化数据库,请将其添加到TS文件const db = PouchDB('MyDB');
  • 然后为项目服务
    使用带构造函数的袋DB:-
  • 在TS文件中导入测试条DB为:-import PouchDB from 'pouchdb'
  • 要示例化数据库,请将其添加到TS文件const db = new PouchDB('MyDb');
  • 然后为项目服务。

相关问题