【发布时间】:2018-09-22 06:07:07
【问题描述】:
我正在尝试将 PouchDB 导入我的 Angular 应用程序。我测试了不同的导入方法:
import PouchDB from 'pouchdb';
import * as PouchDB from 'pouchdb';
我像下面这样在服务中使用它:
database: PouchDB.Database = new PouchDB(DATABASE_URL);
如果我这样做:import PouchDB from 'pouchdb',我会收到以下错误消息:
src/app/core/pouchdb/pouchdb.service.ts(3,8):错误 TS1192:模块 '"{PATH_OF_PROJECT}/node_modules/@types/pouchdb/index"' 没有默认导出。
如果我这样做:import * as PouchDB from 'pouchdb',我会收到以下错误消息:
ERROR TypeError: PouchDB is not a constructor at new PouchDBService
这里是不同包的版本:
- PouchDB:6.4.3
- @types/pouchdb:6.3.2
- Angular 包:5.2.0
- @angular/cli : 1.7.4
提前感谢您的回答。
【问题讨论】:
-
您使用的是什么打字稿版本?我无法重现该问题 -> stackblitz.com/edit/angular-j8dk8h
-
我使用的是 typescript 2.5.3。唯一的区别是您使用 Angular 包的 5.2.8 版本
-
我将 stackblitz 更改为使用 5.2.0 和 typescript 2.5.3(尽管我无法验证它是否真的使用 2.5.3)并且它仍然有效。你最近更新了一些包吗?有时删除整个
node_modules文件夹并再次运行npm install会有所帮助 -
这是一个新项目,所以我没有更新软件包。我已经完成了所有 node_modules 的重新安装。
-
不要将您的答案放在问题中——将其作为答案发布并接受。
标签: angular typescript import pouchdb