我正在嘗試編寫使用現有JS庫的TypeScript代碼。問題是,該庫在運行時基於傳遞到include()
「路徑」上提供一個設施,include()
,用於裝載JS類:如何忽略TypeScript中的一行,但將其複製到JS?
變種LibraryClass =包括(「路徑與班級」);
但打字稿在編譯時需要這些類的定義......我可以評論中的.ts整個include
線(與var LibraryClass
一起),並提供類定義常用的打字稿的方式讓我的代碼編譯,通過/// <reference path="someFile.ts"/>
或者通過爲這個庫創建.d.ts環境定義文件。
但我無法弄清楚如何忽略include()
通話中的.ts,但讓他們在得到的.js文件...
可能是它可能有.TS和.js不同的變量名稱?如果我可以,例如,有
var LibraryClassTS = include('path-to-class');
在打字稿但是,不知何故,它編譯成
變種LibraryClass =包括( '路徑與班級');
如果JavaScript中,這將解決我的問題:我會在.TS空LibraryClassTS
類(而LibraryClass
接口定義從.d.ts加載)和運行時加載LibraryClass
在.js文件。
的問題不在於'include',我已經在.d.ts定義,但與它創建的類,'LibraryClass'。我有一個來自另一個.d.ts的'LibraryClass'的定義,但'var LibraryClass = ...'創建了一個不同的本地定義... – Boris