Javascript 从库中导出枚举,并在consumer typescript项目中使用该枚举

Javascript 从库中导出枚举,并在consumer typescript项目中使用该枚举,javascript,reactjs,typescript,enums,Javascript,Reactjs,Typescript,Enums,我正在创建一个库,从中导出React组件以及一些接口和枚举。 我编译了typescript项目。这是因为该库是用于React而不是typescript的。我也在创建正确的定义文件 现在,在我的消费者项目中,我正在做以下工作: import { IMyComponentProps, MyComponent } from "mycomp-lib"; 如您所见,我能够使用IMyComponentProps。我正在使用这个函数,它将为MyComponent执行一些计算并返回道具 但从我的库中,我还导出

我正在创建一个库,从中导出React组件以及一些接口和枚举。 我编译了typescript项目。这是因为该库是用于React而不是typescript的。我也在创建正确的定义文件

现在,在我的消费者项目中,我正在做以下工作:

import { IMyComponentProps, MyComponent } from "mycomp-lib";
如您所见,我能够使用
IMyComponentProps
。我正在使用这个函数,它将为
MyComponent
执行一些计算并返回道具

但从我的库中,我还导出了一个枚举,如下所示:

export const enum DirectionEnum {
  UP,
  DOWN,
  RIGHT,
  LEFT
}
但是当我从“mycoplib”导入{IMyComponentProps,MyComponent,directionnum}时,

我开始得到一个错误,
directionnum
不是从
mycomplib
导出的

这个枚举是必需的,因为即使
mycomplib
的使用者是用纯javascript编写的,它也会很有用。但是在typescript项目中,它是绝对需要的

我正在使用typescript v3和React v16.3。

哦,我明白了

Typescript不会为
const enum
创建查找表,它只为
enum
创建查找表。 但正因为如此,
const enum
的性能更好

对于consumer typescript项目,可以通过在tsconfig.json中提供选项
preserveConstEnums:true
来创建查找表

这仍然不允许我的库计算查找表中的值(perf-benef),但它会将该查找表导出到消费者(我想要)

感谢所有思考过这个问题的人,我希望这也能帮助其他人。

哦,我明白了

Typescript不会为
const enum
创建查找表,它只为
enum
创建查找表。 但正因为如此,
const enum
的性能更好

对于consumer typescript项目,可以通过在tsconfig.json中提供选项
preserveConstEnums:true
来创建查找表

这仍然不允许我的库计算查找表中的值(perf-benef),但它会将该查找表导出到消费者(我想要)

感谢所有思考过这个问题的人,我希望这也能帮助其他人