我只是想知道是否有任何方法可以简单地读取我在 cmd 中使用 SET 设置的环境变量。 我读过有关 process.env.[ENVVAR] 的内容,但是当我 console.log 在 cmd 中设置的变量时,它显示未定义。 在其他线程上,我读到甚至根本不可能访问 Windows 环境。变量。 那么什么才是真正正确的呢?
最佳答案
我会将我的评论总结为答案。
当您从 cmd 窗口启动 Node.js 时,系统会仅为该 Node.js 进程创建当前用户环境的副本。该环境可以通过 process.env
访问.
该环境不会被任何外部代理改变。一旦node.js进程启动,其环境就专属于node.js进程。
通过Windows Control Panel > System > Advanced System Settings > Advanced > Environment Variables
更改Windows默认环境影响在新创建的环境(例如新创建的 cmd 窗口)中设置哪些变量/值。它不会影响当前打开或运行的环境。
使用process.env
,你可以读取自己环境中现有的所有环境变量。您可以修改process.env
直接对象(更改值、删除属性等),并且进程中访问 process.env
的任何其他代码都将看到这些更改。 。但是,对其他 cmd 窗口中的环境进行外部更改不会影响正在运行的 Node.js 程序中的环境。
关于node.js - NodeJS - 使用 cmd 获取环境变量设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38238661/