在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
我希望一切都清楚。 如有任何澄清,请告知我。