Ts:18033 类型“string”无法按照计算枚举成员值的要求分配给类型“number”

问题描述 投票:0回答:1

我试图从 env 变量中为 Enum 成员分配一个值,但它抛出一个错误:

Type 'string' is not assignable to type 'number' as required for computed enum member values.

直接字符串值初始化工作正常,但 env 文件中的值不起作用

export enum MEMBER_SHIP   {
    CC_FREEMIUM_SKU = process.env.EU_CC_FREEMIUM, //'500018126',
    CC_PREMIUM_SKU = '500019693'
} 

CC_FREEMIUM_SKU
抛出错误。

typescript enums
1个回答
0
投票

请注意,在 Typescript 中,字符串枚举不能具有像

process.env
这样的计算值(在编译时已知)。

数字枚举可以同时具有计算成员或常量成员,但不能具有字符串枚举。

由于 process.env.EU_CC_FREEMIUM 是一个动态值,仅在运行时可用,TypeScript 无法在编译时解析它,从而导致错误

© www.soinside.com 2019 - 2024. All rights reserved.