在TypeScript中扩展StringConstructor会导致未定义的函数

时间:2017-11-12 17:21:21

标签: javascript google-chrome typescript

我正在尝试向TypeScript 2.5中的String类添加一个静态方法,编译为ES5。

在StringExtensions.d.ts中:

declare interface StringConstructor {
    isNullOrEmpty(value: string | null): boolean;
}

在StringExtensions.tsx中:

String.isNullOrEmpty = function(value: string | null) {
    return value == null || value == "";
}

当像这样使用时:

String.isNullOrEmpty("my string");

我在Chrome中遇到“String.isNullOrEmpty”不是函数的错误。但是代码使用tsconfig.json中的“target”:“es5”编译得很好。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我必须导入包含tsx文件中实现的文件作为主/起始文件:

import 'Extensions/StringExtensions';