在Node/Express中,环境变量到底是什么?

3

我知道这是一个相对简单的问题,但我没有看到有人问过。在Node/Express中,我总是设置这个:

var port = PROCESS.env.PORT || 9000

我知道PROCESS.env.PORT是我的环境变量。然而,我不知道环境变量是什么,以及它如何与开发和生产相关,为什么/如何在出现任何给定存储库中的许多情况下需要和使用它。


1
环境变量是在进程启动时由操作系统提供的变量。 - Daniel A. White
1
环境变量是shell变量,例如export PORT=3000。它们存储任意信息。询问谷歌“什么是环境变量”可能是一个好的开始,例如,http://en.wikipedia.org/wiki/Environment_variable。 - Dave Newton
1
环境变量不是Node.js的概念,它是一个通用的计算机概念,而process.env恰好是在Node.js中访问环境变量的方法。请参阅http://en.wikipedia.org/wiki/Environment_variable和http://en.wikipedia.org/wiki/Env。 - apsillers
1个回答

3

除了其他评论中提到的内容,设置这些变量的一种方法是在启动node.js程序时进行,例如:

PORT=9100 node server.js

另一种方法是首先设置变量并使其可用(如Dave Newton所示):

export PORT=9100
node server.js

如果我们是在node.js中设置环境变量的人,那么使用'''var port = PROCESS.env.PORT || 9000'''有什么意义呢?我的意思是,那么我们可以直接使用''server.listen(3000);''。 - Shweta patel
2
@Shwetapatel,通常使用环境变量,这样您可以在开发和生产中使用一个值。例如,在开发中使用端口3000运行您的站点,但在生产中使用端口80。通过使用环境变量,您可以部署相同的代码并通过环境变量配置它执行不同的操作。 - Hector Correa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接