使用环境声明的类型函数说:不是函数
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 只包括全局而没有任何导出
情况如下:
我有一个旧的第三方 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 只包括全局而没有任何导出