在TypeScript中导出JavaScript函数的声明文件

时间:2018-05-17 13:13:58

标签: javascript typescript

我是TypeScript的新手,我想知道如何为自定义JavaScript函数编写声明文件。我试过这个,但它给我错误“找不到模块的声明文件'。/ main'。”并且不要在index.ts文件中提供任何IntelliSense。

main.js

var maths={ sum:function (a,b){ console.log(a+b)}}

module.exports =数学;

index.ts

import * as mt from "./main"
mt.sum(2,5);

type.d.ts

 declare module 'main' {
export function sum(a:number,b:number):void }

`

1 个答案:

答案 0 :(得分:1)

此导入

import * as mt from "./main"

正在寻找与main.ts相同的目录中的main.d.tsindex.ts

您可以尝试的一件事是将type.d.ts重命名为main.d.ts并从中删除declare module 'main',只留下export function sum位于顶层。以这种方式导入时,模块名称取自文件名。此外,如果您有项目(或type.d.ts),则可能必须删除对tsconfig.json的引用。

或者,您可以尝试将导入更改为

import * as mt from "main"

以便导入的模块名称与declare module中给出的名称完全匹配。