我开始使用'1'
来定义我的环境变量。我可以在一个.env文件中轻松指定用于开发和生产环境的通用变量。但是如何为开发和生产环境指定不同的变量。
例如,我要使用DB_NAME = dev_db进行开发,并使用DB_NAME = prod_db进行生产。我该如何使用import re
srch = re.compile(r'^([A-Za-z]+)(\d*)$')
def calculate_atomic_mass(molecule):
"""
Calculate the atomic mass of a given molecule
"""
result = 0.0
mol = molecule.split('-')
if atm in mol:
c = srch.find(atm)
result += result[c[1]] * int(c[2] or '1')
return result
做到这一点?
我正在使用node.js。 预先谢谢你!
答案 0 :(得分:2)
.env文件在不同的环境下应该有所不同,因此不应提交给您的源代码控制存储库(对于Git,这意味着.gitignore)。
例如,您将为此生产config.env
:
DB_NAME=prod_db
在开发中,就像这样:
DB_NAME=dev_db
在两种环境下,文件都将被命名为config.env
,并且将位于同一位置,以便代码读取正确的文件。
在我的项目中,提交的文件称为config.env.sample
,其中包含所有必要的值,以便开发人员知道他们需要在其环境中添加到config.env中的内容:
# config.env.sample
# Sample configuration file for Project XYZ
# Name of the database
DB_NAME=dev_db
这里是more information from the FAQ:
我应该提交我的.env文件吗?
不。我们强烈建议不要将.env文件提交到版本控制。它应仅包含特定于环境的值,例如数据库密码或API密钥。生产数据库的密码应与开发数据库的密码不同。
我应该有多个.env文件吗?
不。我们强烈建议不要使用“ main” .env文件和“ environment” .env文件(例如.env.test)。您的配置应因部署而异,并且不应在环境之间共享值。