如何导入nano (couchdb) - 打字稿



>我在节点应用程序中导入和使用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');

你必须像下面这样进行类型转换:

import * as Nano from "nano";
let nano: Nano.ServerScope = <Nano.ServerScope>Nano('http://localhost:5984');
let db = nano.use(database);

由于版本7.x nano 内置了 IDE 的 TS 类型信息,因此无需导入其他类型。

以下应该足够了:

import Nano from "nano";
let n = Nano('localhost:5984');

最新更新