网站搜索

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 包更聪明的方法,请告诉我。