我希望能够在一个文件中为对象提供环境声明,但在另一个文件中提供实现
示例:
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
答案 0 :(得分:2)
您的代码并未表明Test.ts
需要引用Test.d.ts
,因此只需自行编译Test.ts
tsc Test.ts
而不是
tsc Test.ts Test.d.ts