'string'不能用于索引类型

时间:2019-07-21 11:37:27

标签: node.js typescript

我有以下file.yaml

token:
  local:
    key: "localToken"
  development:
    key: "devToken"
  production:
    key: "prodToken"

我加载以下内容并将其存储为有效的global(typed)变量

现在,我使用以下代码启动我的nodejs应用程序:

"local": "set NODE_ENV='local' && tsnd --respawn app/main.ts --experimental-modules"

所以我的NODE_ENV是一个字符串,我想用它来检索正确的配置。如果NODE_ENV不是本地的/生产的/开发的,我有保安等。

现在我尝试按照以下步骤获取配置

if(process.env.NODE_ENV! in global.config.token){
    global.config.token[process.env.NODE_ENV!].key
}

但它会返回以下内容

  

元素隐式地具有“ any”类型,因为类型的表达式   'string'不能用于索引类型'{local:{key:string; };开发人员:   {键:字符串; }; prod:{key:string; }; }'。没有索引签名   在类型'{local:{key:   串; }; dev:{key:string; }; prod:{key:string; }; }'

0 个答案:

没有答案