繁体   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