节点js中的环境变量(.env)表示

时间:2018-02-04 06:40:33

标签: node.js express

是否可以为所有不同的部署环境(如开发,生产等)提供单个.env文件。基于环境,需要加载相应的环境变量文件。

2 个答案:

答案 0 :(得分:5)

是。您可以使用dotenv module例如:

.ENV

DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3

app.js

require('dotenv').config()

const db = require('db')
db.connect({
  host: process.env.DB_HOST,
  username: process.env.DB_USER,
  password: process.env.DB_PASS
}

答案 1 :(得分:2)

  

是的,不一定是.env文件,而是json / js文件。

您可以制作如下文件,并要求此文件包含环境 -

let config = require('./pathToFile/')[process.env.NODE_ENV]

您的档案 -

{
"development" : {
    "dbConfig" : {
        "username" : "acaca",
        "password" : "ajbcjdca",
        "port" : "acdc",
         "etc" : "etc"
    },
    "serverConfig" : {
      "host" : "jabcjac.com",
      "port" : "4545",
      "etc" : "etc"
    },
    "AWSConfig" : {
      "accessKey" : "akcakcbk",
      "etc" : "etc"
    }
},
"production" : {
    "dbConfig" : {
        "username" : "acaca",
        "password" : "ajbcjdca",
        "port" : "acdc",
         "etc" : "etc"
    },
    "serverConfig" : {
        "host" : "jabcjac.com",
        "port" : "4545",
        "etc" : "etc"
    },
    "AWSConfig" : {
        "accessKey" : "akcakcbk",
        "etc" : "etc"
    }
},
"test" : {
    "dbConfig" : {
      "username" : "acaca",
      "password" : "ajbcjdca",
      "port" : "acdc",
       "etc" : "etc"
    },
    "serverConfig" : {
      "host" : "jabcjac.com",
      "port" : "4545",
      "etc" : "etc"
    },
    "AWSConfig" : {
      "accessKey" : "akcakcbk",
      "etc" : "etc"
    }
}
}
相关问题