如何解决打字稿中的“不能将名称空间用作ts(2709)类型”?

时间:2018-12-19 14:56:09

标签: typescript

我正在加载名为sorted-array的第三方库,并像这样使用它:

import SortedArray from 'sorted-array';

export class Selector {
  private mySortedArray!: SortedArray;

  constructor() {
    this.mySortedArray = new SortedArray();
  }
}

但是,我收到此错误:Cannot use namespace 'SortedArray' as a type.ts(2709)

所以,我创建了这个文件:

// src/typings/sorted-array/index.d.ts
declare module 'sorted-array' {
  class SortedArray {
    constructor(arr: number[]);
    search(element: any): number;
  }
}

但是,错误仍然存​​在。我在做什么错了?

1 个答案:

答案 0 :(得分:3)

您需要将其导出到模块声明中:

declare module 'sorted-array' {
  class SortedArray {
    constructor(arr: number[]);
    search(element: any): number;
  }

  export = SortedArray;
}