在Node.js中访问环境variables的另一种方法

我试图在环境variables上存储生产数据库和电子邮件密码,以隐藏到GitHub用户。

我在terminal上使用export命令设置了我的variables:

$ export DB_PASS=mydbpass

但我无法通过process.env.DB_PASS访问

我不确定这是否正确。 我看到可以通过运行来访问:

DB_PASS=mydbpass node server.js

但我正在寻找一个更实际的方法来做到这一点。

这是一个可行的方法来做到这一点。

首先,你知道你必须执行shell文件来传递数据给Node的过程对象,即环境variables。

好的,让我们创build一个shell文件,在其中存储所有的envvariables。 喜欢这个,

 #!/usr/bin/env bash export NODE_ENV='development' export ENVIRONMENT='development' export PORT='4000' export TEST_PORT='4040' # MongoDB export MONGO_URL='mongodb://localhost:27017/test' 

我们将这个文件命名为env.sh

现在我们假设你的节点应用程序是testApp并且运行npm start运行你的应用npm start ,所以这就是你现在需要做的事情:

 testApp~$ . ./env.sh && npm start 

上面的命令是做的,它运行你的configurationshell文件,然后你的节点应用程序,所以在你的节点应用程序,你可以访问这些字段:

 process.env.PORT process.env.TEST_PORT // and so on, basically whatever you have in env.sh file 

我希望一切都清楚。 如有任何澄清,请告知我。