【问题标题】:lower case not working on environment variable小写不适用于环境变量
【发布时间】:2017-06-21 20:35:13
【问题描述】:

为什么不能小写 Node.js 环境变量?

process.env.someEnvironmentVariable.toLowerCase() process.env.someEnvironmentVariable.toString().toLowerCase()

不是这些作品

但是,这确实可以,但是有没有更清洁的方法来做到这一点:

let test = process.env.someEnvironmentVariable
console.log(`test: ${test.toLowerCase()}`)

这是另一个问题,但原因可能不同

 options = {
      branch: env.BRANCH,
      domain: env.DOMAIN,
      localDeployFolder: env.FOLDER
    }
    const opts = Object.assign({}, options)
    opts.branch = opts.branch.toLowerCase()
    const bucket = `${options.domain.toLowerCase()}-${options.branch}`

它不会小写分支

【问题讨论】:

  • 不起作用是什么意思?您是否将这些行分配给变量并像最后一行一样记录它们?
  • “不起作用”不是有用的问题描述。我们不知道您确切地期望的结果是什么。您是否期望在调用process.env.someEnvironmentVariable.toLowerCase() 之后,process.env.someEnvironmentVariable 的值是小写的?如果是,那不是 JavaScript 的工作方式(与 Node 或 env 变量无关)。
  • 只是因为它们不允许更改。
  • 没有将它们分配给变量...这可能就是原因。
  • 有没有比这 2 行更干净的方法:let test = process.env.someEnvironmentVariable console.log(test: ${test.toLowerCase()})

标签: javascript node.js ecmascript-6 devenv


【解决方案1】:

一切都按预期工作,因为环境变量总是字符串

❯ SOME_VAL=AbC1 node
> process.env.SOME_VAL.toLowerCase()
'abc1'

但是如果你将环境变量定义为123abc1a,当然toLowerCase将不起作用,因为变量已经小写了

【讨论】:

    猜你喜欢
    • 2014-12-18
    • 2023-02-02
    • 2019-08-11
    • 2018-10-15
    • 2017-09-16
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多