我在节点应用程序中导入和使用nano时遇到问题。
js方式(来自doc)是:
var nano = require('nano')('http://localhost:5984');
我如何使用打字稿?
我试过
import * as Nano from "nano";
let nano = new Nano('http://localhost:5984');
然后我得到:Nano不是一个对象。
答案 0 :(得分: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');
答案 1 :(得分:1)
你必须像下面那样强调:
import * as Nano from "nano";
let nano: Nano.ServerScope = <Nano.ServerScope>Nano('http://localhost:5984');
let db = nano.use(database);
答案 2 :(得分:0)
由于7.x nano版本具有针对IDE的内置TS类型信息,因此无需导入其他类型。
以下内容应足够:
import Nano from "nano";
let n = Nano('localhost:5984');