【问题标题】:How to type a untyped package from NPM?如何从 NPM 键入无类型的包?
【发布时间】:2020-06-21 20:55:34
【问题描述】:

我正在学习打字稿,但在任何地方都找不到答案:

假设我有一个用普通 JS 编写的模块 ./node_modules/do-something

function doSometing(a = '', b = {}) {
  console.log(a);
  console.log(b);

  return `${a}`;
}

module.exports = doSometing;

我想为它编写类型定义。我该怎么办?

我试过了:

// do-someting/index.d.ts

declare module 'do-something' {
  export default interface doSometing {
    (a: string, b?: any): string
  }
}

但我总是得到Cannot augment module 'do-something' because it resolves to a non-module entity

我应该如何输入它?

【问题讨论】:

    标签: typescript node-modules typescript-typings


    【解决方案1】:

    您将扩展名放在node_modules/do-someting/index.d.ts。而是创建一个文件src/vendors.d.ts

    declare module 'do-something' {
      export default interface doSometing {
        (a: string, b?: any): string
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-16
      • 2018-09-30
      • 2018-03-18
      • 2019-04-03
      • 2018-09-16
      • 2021-10-06
      • 2020-11-15
      • 2020-02-21
      相关资源
      最近更新 更多