我有一个包含几个顶级导出功能的库:
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模块基本相同?我也可以吃蛋糕吗?