我是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 }
`
答案 0 :(得分:1)
此导入
import * as mt from "./main"
正在寻找与main.ts
相同的目录中的main.d.ts
或index.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
中给出的名称完全匹配。