Javascript 从库中导出枚举,并在consumer typescript项目中使用该枚举
我正在创建一个库,从中导出React组件以及一些接口和枚举。 我编译了typescript项目。这是因为该库是用于React而不是typescript的。我也在创建正确的定义文件 现在,在我的消费者项目中,我正在做以下工作:Javascript 从库中导出枚举,并在consumer typescript项目中使用该枚举,javascript,reactjs,typescript,enums,Javascript,Reactjs,Typescript,Enums,我正在创建一个库,从中导出React组件以及一些接口和枚举。 我编译了typescript项目。这是因为该库是用于React而不是typescript的。我也在创建正确的定义文件 现在,在我的消费者项目中,我正在做以下工作: import { IMyComponentProps, MyComponent } from "mycomp-lib"; 如您所见,我能够使用IMyComponentProps。我正在使用这个函数,它将为MyComponent执行一些计算并返回道具 但从我的库中,我还导出
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),但它会将该查找表导出到消费者(我想要)
感谢所有思考过这个问题的人,我希望这也能帮助其他人