是否可以为所有不同的部署环境(例如开发,生产等)使用单个.env文件。需要根据环境加载相应的环境变量文件。
是。您可以使用dotenv module例如:
.env
DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)
安装 dotenv 模块
npm install dotenv
Run Code Online (Sandbox Code Playgroud)
.env
NODE_ENV=development
PORT=3000
Run Code Online (Sandbox Code Playgroud)
索引.js
let dotenv = require('dotenv').config()
console.log(dotenv);
Run Code Online (Sandbox Code Playgroud)
输出:-
{ parsed: { NODE_ENV: 'development', PORT: '3000' } }
Run Code Online (Sandbox Code Playgroud)
文件限制:-
---| index.js
| .env
Run Code Online (Sandbox Code Playgroud)
是的,不一定是 .env 文件,而是 json/js 文件。
您可以创建一个如下所示的文件,并在环境中需要该文件 -
let config = require('./pathToFile/')[process.env.NODE_ENV]
Run Code Online (Sandbox Code Playgroud)
你的文件 -
{
"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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6474 次 |
| 最近记录: |