簡體   English   中英

打字稿從打字擴展類

[英]Typescript extend class from typings

我有一個正在興建的圖書館。 有一個名為SearchResult的類已正確導出到我的d.ts文件中:

declare module my.module {
    export class SearchResult {
        id?: string;
        object_type: string;
        item?: any;
        type?: string;
    }
}

它被編譯為:

357:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var SearchResult = (function () {
    function SearchResult() {
    }
    return SearchResult;
}());
exports.SearchResult = SearchResult;
},{}]

但是,當我使用引用導入此文件並嘗試擴展此類時,如下所示:

export class SearchResultChecked extends my.module.SearchResult {
    checked?: boolean;
}

我遇到了運行時錯誤:

Uncaught TypeError: Object prototype may only be an Object or null: undefined
    at setPrototypeOf (<anonymous>)
    at __extends (_prelude.js:1)

有許多類似的問題,但它們並不相同。

tsc -v :3.0.1

UPD :就像我無法extend庫中未最后定義的類一樣。 尋找解決方案。

.d.ts文件不會發出,它們不產生任何代碼,僅存在於類型級別(概念上,在鏈接器級別)。

.d.ts文件編寫的代碼永遠不會進入運行時,它只是告訴TypeScript“即使您不打算發出有關此類的JS代碼,也要假定此類/枚舉/存在於其中”

如果要讓類在運行時中實際存在,則需要從實際的.ts文件中實際導出它,或導入一個公開該類的庫。

暫無
暫無

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

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