在我的节点应用程序中导入和使用 nano 时遇到问题。
js方式(来自文档)是:
var nano = require('nano')('http://localhost:5984');
我如何用打字稿做到这一点?
我试过了
import * as Nano from "nano";
let nano = new Nano('http://localhost:5984');
但后来我得到:纳米不是一个物体。
在我的节点应用程序中导入和使用 nano 时遇到问题。
js方式(来自文档)是:
var nano = require('nano')('http://localhost:5984');
我如何用打字稿做到这一点?
我试过了
import * as Nano from "nano";
let nano = new Nano('http://localhost:5984');
但后来我得到:纳米不是一个物体。
通过安装@types/nano,我们可以看到:
node_modules/@types/nano/index.d.ts
我们在哪里看到线条:
declare function nano(config: nano.Configuration | string):
nano.ServerScope | nano.DocumentScope;
意思是 Nano 是一个函数而不是一个对象,所以答案是:
import * as Nano from "nano";
let nano = Nano('http://localhost:5984');
由于版本 7.x nano 已为 IDE 内置了 TS 类型信息,因此无需导入额外的类型。
以下应该足够了:
import Nano from "nano";
let n = Nano('localhost:5984');
你必须像下面这样进行类型转换:
import * as Nano from "nano";
let nano: Nano.ServerScope = <Nano.ServerScope>Nano('http://localhost:5984');
let db = nano.use(database);