Typescript库,使导出可用于非Typescript环境

时间:2019-09-23 17:38:42

标签: javascript typescript

我有一个包含几个顶级导出功能的库:

export Foo from './foo';
export Bar from './bar';

大多数人不需要'Bar',因此此库还具有仅导出Foo的默认导出

export { default as Foo, default } from './foo';
export Bar from './bar';

这可以按预期工作,但是我也想为使用该库的非打字稿应用程序提供同样的便利。

要让他们使用此库,他们目前必须使用如下语法:

const Foo = require('my-lib').default;

我希望他们能够做到:

const Foo = require('my-lib');

为实现这一点,我试图做类似的事情:

import Foo from './foo';
import Bar from './bar';

exports = Foo;
exports.Bar = Bar;

但是这给我一个错误,因为不允许Foo具有属性Bar。如果我用any抑制了这些错误,该库将丢失所有类型信息。

我是否有办法使它的行为与node.js模块或Typescript模块基本相同?我也可以吃蛋糕吗?

0 个答案:

没有答案