【问题标题】:How to import nano (couchdb) - typescript如何导入 nano (couchdb) - 打字稿
【发布时间】:2018-01-30 13:09:31
【问题描述】:

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

js方式(来自文档)是:

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

我如何使用 typescript 做到这一点?

我试过了

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

但后来我得到:Nano 不是一个对象。

【问题讨论】:

    标签: typescript couchdb node-modules couchdb-nano


    【解决方案1】:

    通过安装@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');
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        以下应该足够了:

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

        【讨论】:

          猜你喜欢
          • 2022-07-28
          • 1970-01-01
          • 2020-04-19
          • 2023-02-09
          • 1970-01-01
          • 2012-12-26
          • 1970-01-01
          • 2017-07-31
          • 2021-07-23
          相关资源
          最近更新 更多