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

在TypeScript中导出JavaScript函数的声明文件,javascript,typescript,Javascript,Typescript,我是TypeScript新手,我想知道如何为自定义JavaScript函数编写声明文件。我尝试了这个,但它给了我错误“找不到模块“./main.”的声明文件”,并且在index.ts文件中没有给出任何IntelliSense main.js var maths={ sum:function (a,b){ console.log(a+b)}} 模块导出=数学 索引 import * as mt from "./main" mt.sum(2,5); d.ts型 declare module '

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

main.js

var maths={ sum:function (a,b){ console.log(a+b)}}
模块导出=数学

索引

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

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

此导入

import * as mt from "./main"
正在与
index.ts
在同一目录中查找
main.ts
main.d.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

中给出的名称完全匹配。感谢您的回答,它是有效的。还需要询问的是同一文件夹中的d.ts文件和.js文件?对于从“/main”导入的
main.js
文件,应位于编译
index.js
的同一文件夹中。