ArrayConstructor

时间:2018-02-07 00:08:18

标签: typescript

如何在原始构造函数(如ArrayConstructor,ObjectConstructor,FunctionConstructor等)上导出静态方法?

以下是我尝试完成的示例:Example

生成的JS必须仍然包含Array.test,并且都在Node.js和浏览器环境中运行。

1 个答案:

答案 0 :(得分:2)

您无法导出非本地定义。您可以通过为其提供本地名称来导出test函数,例如:

declare global {
    interface ArrayConstructor {
        test(): boolean;
    }
}

const test = Array.test = function () {
    return true;
};

class ClassTest{
    public func() { }
}

export { ClassTest, test };

理想地

我认为您不想导出测试功能。你可能想做的是:

declare global {
    interface ArrayConstructor {
        test(): boolean;
    }
}

Array.test = function () {
    return true;
};

export { }

然后,当您导入此文件时,Array.test将在全球范围内神奇地变为可用。