2

在我的节点应用程序中导入和使用 nano 时遇到问题。

js方式(来自文档)是:

var nano = require('nano')('http://localhost:5984');

我如何用打字稿做到这一点?

我试过了

import * as Nano from "nano";
let nano = new Nano('http://localhost:5984');

但后来我得到:纳米不是一个物体。

4

3 回答 3

3

通过安装@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');
于 2017-09-05T19:06:23.113 回答
1

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

以下应该足够了:

import Nano from "nano";
let n = Nano('localhost:5984');
于 2019-06-12T16:42:59.457 回答
1

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

import * as Nano from "nano";

let nano: Nano.ServerScope = <Nano.ServerScope>Nano('http://localhost:5984');
let db = nano.use(database);
于 2018-05-28T11:39:15.527 回答