簡體   English   中英

TypeScript環境聲明和實現在單獨的文件中

[英]TypeScript ambient declaration and implementation in separate files

我希望能夠在一個文件中為對象提供環境聲明,但在另一個文件中提供實現

例:

測試文件

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

interface Test {
    ...
}

declare var Test: TestConstructor;

測試

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

    return Test;
})();

錯誤:

后續變量聲明必須具有相同的類型。 變量“ Test”必須為“ TestConstructor”類型,但此處的類型為“((值:任何)=>無效”)。

我知道這似乎是使用TypeScript的一種奇怪方法,但是原因是我想構建一個具有TypeScript不支持的功能(閉包/值屬性)的對象,所以我不能為此使用類。

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

您的代碼並不表示Test.ts需要引用Test.d.ts ,因此只需自行編譯Test.ts

tsc Test.ts

代替

tsc Test.ts Test.d.ts

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM