有效的“类型”定义文件,有人吗?

时间:2019-09-03 14:24:18

标签: tabulator

我们在大型Angular项目中使用制表器表格,但似乎找不到可用的定义文件。

我尝试过https://www.npmjs.com/package/@types/tabulator-tables,它似乎已更新等,但是它在我的IDE中导致很多错误,因此该项目将无法编译。即使在添加类型包之前,编译工作仍然存在很多错误。添加许多@ ts-ignore注释是毫无意义和不切实际的。

请注意-我注意到使用与项目(v4.2.2)中安装的版本相同的类型定义包。我认为问题出在上述软件包的自动生成上,结果.d.ts文件因此无法使用。

如果我写错了,请纠正我,在集成定义文件方面的任何帮助将不胜感激。 TIA!

3 个答案:

答案 0 :(得分:2)

我在 Angular 项目中添加 TypeScript 类型时遇到了类似的问题,这就是我所做的:

  1. 封装在 Angular 组件中的 Tabulator(在我的例子中是 data-grid.component.ts);
  2. npm install @types/tabulator-tables
  3. 使用以下内容创建文件 data-grid.component.d.ts:
    declare module 'tabulator-tables' {
      export = Tabulator;
    }
  1. 关键:从文件 data-grid.component.ts 中删除了 import Tabulator from 'tabulator-tables'

它奏效了。

答案 1 :(得分:0)

可以在 @ types / tabulator-tables npm软件包中找到全套TypeScript键入

npm install @types/tabulator-tables

有关如何在项目中使用键入内容的示例,请参见here

Language Documentation包含有关可用类型的更多信息

答案 2 :(得分:0)

我已经为这个问题写了一个答案,在我看来还不够好,但有些人认为它是正确的,所以我决定保持原样,写一个新的。

为制表符添加类型存在一些问题,这是因为未导出类型注释,但有一种方法可以使用它们。

为制表符(npm install --save @types/tabulator-tables)安装类型后,您应该打开(或创建它,如果它不存在)目录index.d.ts内的文件src,并将以下代码复制到其中:

declare module 'tabulator-tables' {
  export = Tabulator;
}

您需要确保在文件 "allowSyntheticDefaultImports": truecompilerOptionstsconfig.json 中有 tsconfig.app.json(取决于您的项目)和 tsconfig.spec.ts(它需要用于单元测试)。

非常重要在编辑 tsconfig 后卸载并重新开始 ng serve

之后所有的打字都应该可以工作。以防万一我创建了简单的 Angular example,希望这会有所帮助。