用于对象导出和类型的def文件

卢克·皮格蒂(Luke Pighetti)

好了,所以我们有一个Node模块string-similarity,它可以导出两个这样的函数(请参阅:https : //github.com/aceakash/string-likeity/blob/master/compare-strings.js#L7-L8

module.exports = { compareTwoStrings, findBestMatch }

我已经整理好了一个定义文件,除了不能访问类型外,它运行得很好。

declare module "string-similarity" {
  function compareTwoStrings(string1: string, string2: string): number;

  function findBestMatch(string: string, targetStrings: string[]): Result;

  interface Result {
    ratings: Match[];
    bestMatch: Match;
  }

  interface Match {
    target: string;
    rating: number;
  }

  export { compareTwoStrings, findBestMatch };
}

我是Typescript的新手,所以我的问题是:我应该能够导入这些类型吗?我会这样认为。而且,有没有惯用的正确方法来创建此def文件?

更新资料

我能够在VSC中获得智能感知,以为我已经解决了问题,但是仍然出现错误TypeError: Cannot read property 'compareTwoStrings' of undefined即使我可以看到这些方法很好,也没有红色花线。

索引

declare module "string-similarity" {
  namespace similarity {
    function compareTwoStrings(string1: string, string2: string): number;

    function findBestMatch(string: string, targetStrings: string[]): Result;
  }

  export interface Result {
    ratings: Match[];
    bestMatch: Match;
  }

  export interface Match {
    target: string;
    rating: number;
  }

  export default similarity;
}

字符串相似性规范

import similarity from "string-similarity";
import { Result, Match } from "string-similarity";

describe("compare two strings", () => {
  it("works", () => {
    const string1 = "hello";
    const string2 = "dello";

    const result: number = similarity.compareTwoStrings(string1, string2);

    expect(result).toBe(0.75);
  });
});
Mehmetseckin

要在公共父级(例如 similarity下访问您的方法,您需要在similarity别名下导入它们

import * as similarity from "string-similarity"; 

similarity.compareTwoStrings("potato", "tomato");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将混合类型对象导出到csv文件?

将大数组变量(类型=对象)导出到CSV文件

DLL 导出 __stdcall 没有 DEF 文件和使用 VS 修饰的函数名称

CMAKE用于/ DEF和/ NODEFAULTLIB

导出没有def文件的序数

R Shiny可以用于导入文件,运行R脚本和导出文件吗?

如何从pts标签文件中导出TFRecords用于Tensorflow对象检测API?

导出混合类型和模块

如何导出和破坏对象?

使用xml导出和导入自定义类型对象时遇到问题

通过.def文件导出的函数使用哪种调用约定?

访问由def文件导出的静态变量时崩溃

用于导出以及C和C ++ API的单个头文件

For-in循环和类型转换仅适用于与类型匹配的对象

如何流类型注释默认对象导出?

简单脚本-将组和嵌套对象导出到文件中(动态)

引用类型和对象类型

类型提示用于正在定义的类型的对象

在svelte文件中导出打字稿类型

更改文档以重新导出类型和值

文档类型与导出和导入的UTI

Flowtype –如何导出和导入类型?

Pycharm:cfg和.pylintrc文件的文件类型是什么(用于语法突出显示)

Glade - 从文件加载时无效的对象类型“WebKitWebView”。适用于 Glade 应用程序

生成器函数,用于文件读取,将对象类型作为常规函数返回

如何从.vue文件导出多个对象

预设文件不允许导出对象

如何从文件中导出多个对象

依赖项注入仅适用于服务类型对象和单例吗?(而不是gui?)