Node.js:如何从系统中读取变量?
Posted
技术标签:
【中文标题】Node.js:如何从系统中读取变量?【英文标题】:Node.js: How to read variables from the system? 【发布时间】:2022-01-14 12:23:02 【问题描述】:我是 Docker 的新手,要在生产环境中进行部署,我需要从容器的操作系统中读取“环境”变量而不是文件或 package.json 脚本行。
我知道如何从 .env 文件或脚本行中读取变量,但我不知道如何从系统中读取,也不知道是否可以从系统中读取这些变量。
我该怎么做?有可能吗?
【问题讨论】:
【参考方案1】:过程不会改变。您仍然使用以下内容来读取进程正在运行的环境变量。Reference for Node.
const envVariable = process.env.NAME_OF_VARIABLE;
可以使用以下方法在 Dockerfile 中设置变量。这方面的文档是here.
ENV <key>=<value> ...
不过,当使用 LXC 或 Kubernetes 之类的东西时,事情会变得更加复杂。
【讨论】:
伯杰你好!!!谢谢你的帮助。但是检查文档,您将变量的值写入 Docker 文件中,而对我的要求是从系统而不是任何文件中读取变量。例如,如果你在 Linux 中编写 echo $HOME,我得到了变量 $HOME 的值。我需要做的是相同的,但来自节点。我可以使用 process.env.HOME 从 Node 系统中读取 $HOME 变量吗? @JoséCarlos 你试过了吗? (这是一个反问的问题......)=>docker -it --rm --name testnode --env toto=blabla node:latest
。在节点控制台中尝试读取process.env.toto
(在我的命令启动时在容器上设置)和process.env.HOME
或process.env.HOSTNAME
(由“系统”设置)。你得到了所有人的结果。
我会试试的!!谢谢!!!
@JackBarger 它有效!!!感谢您的感谢帮助!!!以上是关于Node.js:如何从系统中读取变量?的主要内容,如果未能解决你的问题,请参考以下文章
Node.js - 如何从文件中读取数据并将输出集成到变量中
你怎么得到运行Node.js脚本的cron作业从.env文件中读取变量?