是否可以为所有不同的部署环境(如开发,生产等)提供单个.env文件。基于环境,需要加载相应的环境变量文件。
答案 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"
}
}
}