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

时间:2018-02-01 19:21:54

标签: angular typescript typescript-typings ambient

情况如下:

我有一个旧的第三方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不是函数'

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

很多人都很欣赏@AluanHaddad对解决这个问题的看法。 这是答案:

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