小写不适用于环境变量

Posted

技术标签:

【中文标题】小写不适用于环境变量【英文标题】: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()) 【参考方案1】:

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

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

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

【讨论】:

以上是关于小写不适用于环境变量的主要内容,如果未能解决你的问题,请参考以下文章

环境变量不适用于 IntelliJ IDEA HTTP 客户端

dotenv-webpack 环境变量不适用于 Github 操作

无法将环境变量传递给 docker

将环境变量加载到 vue.js

为什么Linux下的环境变量要用大写而不是小写

Bash - 使用特殊字符 ($) 导出环境变量