bug记录:元素隐式具有 "any" 类型,因为类型为 "string" 的表达式不能用于索引类型 "ViteEnv"。

29 阅读1分钟

原因:通过object.[变量]读取变量中的某个值,编译器提示元素隐式具有 "any" 类型,因为类型为 "string" 的表达式不能用于索引类型 "ViteEnv"。 在类型 "ViteEnv" 上找不到具有类型为 "string" 的参数的索引签名。ts(7053)

解决方法:在声明文件中修改如下

interface ViteEnv {
    //定义key的类型
    [key: string]: number | string | boolean;
    VITE_PORT: number;
    VITE_PUBLIC_PATH: string;
    VITE_ROUTER_HISTORY: string;
    VITE_CDN: boolean;
    VITE_HIDE_HOME: string;
}