Поддерживайте и загружайте всю конфигурацию вашей среды в самом проекте.
dev.js
module.exports = {
"host":"dev.com"
}
prod.js
module.exports = {
"host":"prod.com"
}
config.js - mainфайл, который разрешает конфигурацию на основе переменной process.env.ENV.
const dev = require('./dev');
const prod = require('./prod');
let envObject = {};
const env = process.env.ENV || "dev";
switch(env) {
case 'prod':
envObject = prod;
break;
default:
envObject = dev;
}
envObject['ENV'] = env;
process.env = Object.assign(process.env,envObject); // Optional if you prefer to add them into process environment otherwise `require('./config')` where you need configuration.
module.exports = envObject;
index.js - вызов корневого файла проекта узла каждый раз при запуске проекта
const config = require('./config');
console.log('config object => ',config.host);
package.json
{
"name": "project",
"version": "0.0.2",
"scripts": {
"deploy": "sls deploy"
}
}
Выполнение вашего кода node.js Среда Prod ENV=prod npm run deploy
;Среда разработки - npm run deploy
;
Среда по умолчанию установлена на dev
в ./config.js
При использовании этой простой практики вам не понадобится модуль npm для управления конфигурациями среды.