情况如下:
我有一个旧的第三方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对解决问题的评论。答案如下:
需要将 typeping.d.ts 重命名为 old.d.ts 并将其放在 old.js 所在的同一文件夹中。这是由于旧的.js只包括全局并且没有任何导出