当我们使用类似set PORT=5000
的东西设置环境变量PORT时,我们直接告诉程序要使用哪个端口。那么,这与直接告诉它使用端口3000有什么不同呢?
环境变量用于简化复杂性,并在一个或多个环境中对值进行padronize,例如,如果您的服务运行在两个环境上,比如qa和production,使用环境变量,您可以简单地编写2.env文件,并为每个文件使用不同的值
回答你的问题,是的,如果你为一个端口设置了一个环境变量,或者在一个代码内变量中设置了它,无论从哪种方式,你都在告诉程序要使用哪个端口。好吧,对于你的代码来说,端口设置在哪里并不重要
所以。。。为什么要使用env变量
嗯,这是我认为的主要问题,env变量提供了一种可靠的方法:
- 更改值,而无需更改代码旁边的许多位置
- 在多种环境中更改值
- 使您的应用程序更易于设置和配置
事实上,他们可以做得更多。你可以在这里查看有关它的精彩阅读:https://medium.com/chingu/an-introduction-to-environment-variables-and-how-to-use-them-f602f66d15fa
一个建议是,每当你必须在代码中使用env变量时,都要使用其中一个:
- 执行模式(例如,生产、开发、暂存等(
- 域名
- API URL/URI
- 端口
- 公用和专用身份验证密钥(仅在服务器中安全应用程序(
- 组邮件地址,例如用于营销、支持、销售、,等服务帐户名称
但是正如您所看到的,它不是强制性的。希望它能帮助你。