TypeScript:suppress属性在类型上不存在

时间:2016-11-17 07:55:57

标签: typescript

我遇到了TypeScript的以下问题:

有一个模块,它使用来自" old"的函数myApp.common.anotherFunc()。 js代码:

module myApp {
    export module helpers {

        export class baseHelper {
            doWork() {
                var m = myApp.common.anotherFunc();
            }
        }
    }
}

结果,打字稿编译器显示错误"类型"上不存在属性。如何在不重写myApp.common中的旧功能的情况下解决此问题?

P.S。如果重要,TS版本为2.0

1 个答案:

答案 0 :(得分:3)

只需为TypeScript声明函数:

declare module myApp.common {
    let anotherFunc: Function;
}

module myApp {
    export module helpers {

        export class baseHelper {
            doWork() {
                var m = myApp.common.anotherFunc();
            }
        }
    }
}

此声明不生成任何代码,您不会再看到编译器错误,因为它知道该函数。