TypeScript环境声明和单独文件中的实现

时间:2015-06-27 18:05:59

标签: javascript typescript

我希望能够在一个文件中为对象提供环境声明,但在另一个文件中提供实现

示例:

Test.d.ts

interface TestConstructor {
    new(value?: any): void;
    ...
}

interface Test {
    ...
}

declare var Test: TestConstructor;

Test.ts

var Test = (function () {
    function Test(value) {
    }

    return Test;
})();

错误:

  

后续变量声明必须具有相同的类型。变量   '测试'必须是' TestConstructor'类型,但这里有类型'(值:   任何)=>空隙'

我知道这似乎是使用TypeScript的一种奇怪的方式,但原因是我想构建一个具有TypeScript不支持的功能的对象(闭包/值属性),所以我无法使用这个课程。

另外我想发送Test.d.ts和Test.js,但不是Test.ts

1 个答案:

答案 0 :(得分:2)

您的代码并未表明Test.ts需要引用Test.d.ts,因此只需自行编译Test.ts

tsc Test.ts

而不是

tsc Test.ts Test.d.ts