设置环境变量如 process.env.thing = 42
和创建全局变量如 global.thing = 42
有何不同?
什么情况下会优先选择使用 process.env.thing
而不是 global
?两者各有什么利弊?
设置环境变量如 process.env.thing = 42
和创建全局变量如 global.thing = 42
有何不同?
什么情况下会优先选择使用 process.env.thing
而不是 global
?两者各有什么利弊?
global
是全局对象。因为 process
是 global
的一个属性,所以它可以在全局范围内使用。实际上:
global.process === process //-> true
process.env
具有设置为系统环境变量的属性。这些可以在Node之外以各种方式设置,并通过访问process.env
的属性来读取。
在命令行中尝试:
FOO=bar node -e "process.env.FOO"
NODE_API_URL=https://myApi.com/myEndpoints myApp.js
global.thing = bla
这一行代码将在环境变量被设置之后被读取。
应用程序运行后,可以通过应用程序访问环境变量和其他全局定义。
来自文档 NodeAPI
process 对象是一个全局对象,它提供有关当前 Node.js 进程信息和控制的功能。作为全局对象,无需使用 require() 即可在 Node.js 应用程序中始终可用。
您可以将您的环境变量附加到该对象上,以确保没有其他全局污染。
process
和globals
是Node中全局可访问的变量。将thing
附加到任何一个变量上只意味着将其附加到不同的对象上。您能稍微澄清一下您的问题吗?您具体想问什么? - zero298