Typescript 类型声明文件和调用签名错误
由于slug模块缺少官方的d.ts文件,我在尝试工作时遇到了各种各样的错误 首先,这里是我导入模块的文件Typescript 类型声明文件和调用签名错误,typescript,Typescript,由于slug模块缺少官方的d.ts文件,我在尝试工作时遇到了各种各样的错误 首先,这里是我导入模块的文件 import * as slug from "slug" // Had to create a custom d.ts empty file to avoid compile error as no official definition file existed let slugify = function (data: string): string { let slugifi
import * as slug from "slug" // Had to create a custom d.ts empty file to avoid compile error as no official definition file existed
let slugify = function (data: string): string {
let slugified: string = slug('ééé aaa ooo') // error here
return slugified
}
export default slugify
下面是我必须创建的空d.ts文件,以防止从编译器导入错误消息:
declare module "slug" {
}
slug上出现了新问题('俎俎俎aaa ooo'):
我如何解决这个问题?我应该在d.ts文件中添加“假”内容吗?编译器需要知道slug是如何工作的,您可以通过从定义文件中的模块导出该函数的声明(表示slug在JavaScript中的外观)让它知道 这里有一种方法:
declare module "slug" {
interface SlugOptions {
lower?: boolean;
// ...add the other options here...
}
function slug(val: string, optionsOrReplacement?: SlugOptions | string): string;
export = slug;
}
我认为导入此库的唯一方法是使用require
,因为它是js代码中的命名/默认导出:
import slug = require("slug");
这不是导入try
declare var slug
Thank,而是一个精心设计的解决方案。然而,我使用了简单的方法,并使用了一个简单的require导入。
import slug = require("slug");