我一直在使用TypeLite 1.8.4生成TypeScript定义和枚举。这对于TypeScript 2.0一直很好用,但是在一个带有Aurelia的新项目和一个旧版本的TypeScript 1.6.2中,出现了一个我以前从未见过的错误。
看到这个问题,为什么我们在前端生成一个新的枚举而不使用TypeLite的const版本:
TypeLite -> TypeScript Enum -> Runtime error: Uncaught ReferenceError: TSEnum is not defined
新错误:
无法将类型“”转换为类型“:类型”是枚举,只能是 从相同的枚举类型或数字分配
鉴于我们将枚举导出为const-> TestEnum.Zero应该始终为零?
https://www.typescriptlang.org/docs/handbook/enums.html#const-enums
以下不同代码示例之间的错误相同:
1:
namespace Library {
export const enum TestEnum {
Zero = 0,
One = 1,
}
}
export enum TestEnum2 {
Zero = Library.TestEnum.Zero,
One = Library.TestEnum.One
}
2:
export const enum TestEnum {
Zero = 0,
One = 1,
}
export enum TestEnum2 {
Zero = TestEnum.Zero,
One = TestEnum.One
}
3:
export enum TestEnum {
Zero = 0,
One = 1,
}
export enum TestEnum2 {
Zero = TestEnum.Zero,
One = TestEnum.One
}