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