设置<div id="custom-erp-id-side-nav" class="custom-erp-side-nav" @mouseenter="openSideBar" @mouseleave="closeSideBar">
这样的环境变量与创建process.env.thing = 42
这样的全局变量有何不同?
什么时候比global.thing = 42
更喜欢process.env.thing
?这两个对象的优点/缺点是什么?
答案 0 :(得分:1)
如果启动node.js应用程序,则可能需要使用一些不同的“环境”,例如API-URL和类似的东西,因为在生产/实时环境中,这些URL与本地开发环境相比通常是不同的。
这意味着您可以在启动应用程序之前使用.env
文件注入这些路径。
这是一个示例:
NODE_API_URL=https://myApi.com/myEndpoints myApp.js
在设置环境变量后 将读取global.thing = bla
行。
一旦应用程序运行环境变量,其他全局定义便可以由应用程序访问。
答案 1 :(得分:1)
global
是全局对象。 process
在全球范围内可用,因为它是global
的属性。实际上:
global.process === process //-> true
process.env
的属性设置为系统的环境变量。可以在节点本身之外设置多种方式,并通过访问process.env
的属性来读取这些信息。
在命令行中尝试:
FOO=bar node -e "process.env.FOO"
处理模块只是全局可用的东西。
答案 2 :(得分:1)
我认为选择必须是这样的。 1)如果变量取决于环境,则必须在process.env中设置 2)如果变量只是可以从整个应用程序访问的常量,则必须将其设置为全局变量。
我认为,如果您不面对这2点,那么您就不必在这两方面都存储一些值
答案 3 :(得分:0)
来自文档NodeAPI
过程对象是一个全局对象,提供有关以下内容的信息: 控制当前的Node.js进程。作为全球性企业,始终 无需使用require()就可用于Node.js应用程序。
您想要将环境变量附加到该对象上,以确保不会对全局变量造成其他污染。