我如何告诉我的node/ express应用程序应该在mac上使用test.env还是dev.env?

hkmswyz6  于 2023-01-04  发布在  Node.js
关注(0)|答案(1)|浏览(143)

我如何告诉我的node/express应用程序应该在mac上使用test.env还是dev.env?
我本质上希望能够运行我的应用程序,并告诉它要连接到哪个数据库;(开发或测试)。但是,应用程序始终选择'test.env'。
我在打电话

process.env.DBNAME

以便选择存储数据库名称的环境变量。
当我在生产中部署我的应用程序时,如果知道如何选择环境也会很好。
我不知道还能尝试什么,真的很感激你的帮助!

jyztefdp

jyztefdp1#

可以按如下方式使用dotenv软件包:
1.添加.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];

相关问题