Angular 使用来自 TypeScript npm 包的枚举,出现未定义错误
我有一个 Angular 应用程序,它使用来自 TypeScript 包的枚举。
所以我的设置基本上是这样的:
角度
import { TestEnum } from 'my-enum-package';
Component {
enumVal = TestEnum; // Make the enum available in the component template.
constructor() {
if(exampleVar === TestEnum.Value1) { /* Do stuff */ }
}
}
我的枚举包(TypeScript)
export enum TestEnum {
Unknown = 0,
Value1 = 1,
Value2 = 2
}
来自包的 index.ts
export * from './testenum.ts'
在开发模式(ng serve)下这可以正常工作。但当我在生产模式下使用它时,打开组件会出现错误。
无法读取未定义的属性 'Value1'
不知为什么,在 Angular 中枚举是可用的,但其值却不可用,而且这种情况只发生在生产模式下。我在某处看到说 export enum 应该是 const,但如果这样做会在我的代码中产生很多警告。
像这样的错误:
‘const’ 枚举只能用于属性或索引访问表达式,或者用于导入声明、导出赋值或类型查询的右侧。
对此的可能解决方案是什么?提前谢谢你!
编辑:这里的目标是在多个 Angular 应用程序之间共享一些枚举,如果有比使用 ts npm 包更聪明的方法,请告诉我。