我只是想知道是否有任何方法可以简单地读取我在cmd中使用SET设置的环境变量。 我已经阅读了有关process.env。[ENVVAR]的内容,但是当我在console.log中设置了我在cmd中设置的变量时,它显示了未定义的内容。 在其他线程上,我读到它甚至不可能访问windows env。变量。 那究竟是什么呢?
答案 0 :(得分:2)
我会将我的评论总结为一个答案。
从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程序中的环境。