使用环境声明的类型函数说:不是函数

typed function using ambient declaration says: is not a function

情况如下:

我有一个旧的第三方 javascript 函数,我想在我的打字稿代码中使用它,只需使用环境声明:

old.js: (is loaded by <script> in my .aspx file)
function myFunc() {
    return “Hello World”;
}

typing.d.ts:
export declare function myFunc(): string;

app.ts
import { myFunc } from “./typing”
let str: string = myFunc()

transpild app.js:
var str = typing_1.myFunc();

编译时没有问题,但在运行时出现此错误: ‘myFunc 不是函数’

任何帮助将不胜感激

非常感谢@AluanHaddad 对解决问题的评论。 答案如下:

需要将 typing.d.ts 重命名为 old.d.ts 并将其放在 old.js 所在的同一文件夹中。这是因为 old.js 只包括全局而没有任何导出