javascript - 从库中导出枚举并在消费者打字稿项目中使用它
问题描述
我正在创建一个库,从中导出一个 React 组件以及一些接口和一个枚举。我编译了打字稿项目。这是因为该库是用于 React 而不是打字稿。我也在创建正确的定义文件。
现在在我的消费者项目中,我正在这样做:
import { IMyComponentProps, MyComponent } from "mycomp-lib";
如您所见,我可以使用IMyComponentProps
. 我将它用于一个函数,该函数将进行一些计算并为MyComponent
.
但是从我的库中,我还导出了一个枚举,它是这样的:
export const enum DirectionEnum {
UP,
DOWN,
RIGHT,
LEFT
}
但是当我这样做时import { IMyComponentProps, MyComponent, DirectionEnum } from "mycomp-lib";
我开始收到DirectionEnum
未从mycomp-lib
.
这个枚举是必需的,因为即使消费者mycomp-lib
是用纯 JavaScript 编写的,它也很有用。但是在打字稿项目中,它绝对是需要的。
我正在使用 typescript v3 和 React v16.3。
解决方案
哦,我明白了。
Typescript 不为 .const enum
创建查找表,它只为enum
. 但正因为如此,const enum
性能更好。
preserveConstEnums: true
对于消费者打字稿项目,可以通过在 tsconfig.json 中提供选项来创建查找表。
这仍然不会让我的库从查找表中评估值(性能优势),但它会将该查找表导出给消费者(我想要的)。
感谢所有考虑过这个问题的人,我希望这对其他人也有帮助。
推荐阅读
- android-studio - 如何向 CardVIew 添加操作?
- pandas - 添加带有文件名通配符的列
- mysql - 询问
标签嵌套在
标签如何在我的 MariaDB 数据库中搜索
标签中使用的标签?
我试过了
WHERE content LIKE %<table>*<p>*</table>%
和大量其他组合但不起作用。
示例代码
<table> <tr> <td><p>
- python - 如何在 python re 中访问 \p{P} 和 \p{S}
- angular - 由于 Angular 的版本问题,安装 Storyblok 的 ng-dynamic-component 失败
- node.js - 打字稿和快递 - 路由不起作用
- python - 如何从张量流中的多输入模型获得回归输出?
- javascript - addEventListener 点击一次不工作多次
- c++ - 根据 CMAKE_CONFIGURATION_TYPES 生成预处理器定义
- r - UpdateSelectInput 不更新选项