我如何告诉我的node/express应用程序应该在mac上使用test.env还是dev.env?我本质上希望能够运行我的应用程序,并告诉它要连接到哪个数据库;(开发或测试)。但是,应用程序始终选择'test.env'。我在打电话
process.env.DBNAME
以便选择存储数据库名称的环境变量。当我在生产中部署我的应用程序时,如果知道如何选择环境也会很好。我不知道还能尝试什么,真的很感激你的帮助!
jyztefdp1#
可以按如下方式使用dotenv软件包:1.添加.env文件,并在.env文件中为每个环境添加变量:
.env
DB_URI_DEVELOPMENT="https://someuri.com" DB_USER_DEVELOPMENT=someuser DB_PASSWORD_DEVELOPMENT=somepassword DB_URI_TEST="https://otheruri.com" DB_USER_TEST=otheruser DB_PASSWORD_TEST=otherpassword
1.启动开发中的应用程序:
NODE_ENV=development node server.js
或在试验中:
NODE_ENV=test node server.js
访问应用中的环境变量:
if (process.env.NODE_ENV !== 'production') { require('dotenv').config(); } const env = process.env.NODE_ENV.toUpperCase();
访问当前环境的环境变量,方法是使用大写环境字符串作为其后缀。
var dbUri = process.env['DB_URI_' + env]; var dbUser = process.env['DB_USER_' + env]; var dbPassword = process.env['DB_PASSWORD_' + env];
1条答案
按热度按时间jyztefdp1#
可以按如下方式使用dotenv软件包:
1.添加
.env
文件,并在.env
文件中为每个环境添加变量:1.启动开发中的应用程序:
或在试验中:
访问应用中的环境变量:
访问当前环境的环境变量,方法是使用大写环境字符串作为其后缀。