我在Typescript中有一个枚举
export const enum CarType {
SED = "Sedan"
}
构建后的JavaScript代码:
"use strict";
Object.defineProperty(exports,"_esModule, { value: true })
:
因此,基本上js代码没有逻辑,而是只有.d.ts文件具有相同的逻辑。
当我使用tsc
命令构建它并将JavaScript代码导出到react应用时,在访问该枚举时,例如:CarType.SED
,它给出了类似-Cannot read property SED of undefined
可能是相同的原因。我知道打字稿有一个声明文件(扩展名为.ts)。如何在纯JS项目中使用它?
答案 0 :(得分:1)
来自documenation:
Const枚举只能使用常量枚举表达式,并且与常规枚举不同,它们在编译过程中会被完全删除。 Const枚举成员在使用站点内联。这是可能的,因为const枚举不能具有计算所得的成员。
删除const
关键字应该可以。仅当您在另一个TypeScript文件中使用枚举时,内联才有效。
答案 1 :(得分:0)
您可以将编译器选项(TSC options)“ preserveConstEnums”设置为true:
tsconfig.json:
{
"compilerOptions": {
"preserveConstEnums": true,
...
},
...
}
或命令行:
tsc --preserveConstEnums true path/to/some_file.ts