Очень полезное решение - использовать конфигурационный модуль .
после установки модуля:
$ npm install config
Вы можете создать файл конфигурации default.json . (вы можете использовать объект JSON или JS, используя расширение .json5)
Например
$ vi config/default.json
{
"name": "My App Name",
"configPath": "/my/default/path",
"port": 3000
}
Эта конфигурация по умолчанию может быть переопределена файлом конфигурации среды или локальным файлом конфигурации для локальной среды разработки:
production.json может быть:
{
"configPath": "/my/production/path",
"port": 8080
}
development.json может быть:
{
"configPath": "/my/development/path",
"port": 8081
}
На вашем локальном ПК вы можете иметь local.json , который переопределяет всю среду, или вы можете иметь определенную локальную конфигурацию как local-production.json или local -development.json .
Полный список заказов на загрузку .
Внутри вашего приложения
В вашем приложении вам нужно только указать конфигурацию и необходимый атрибут.
var conf = require('config'); // it loads the right file
var login = require('./lib/everyauthLogin', {configPath: conf.get('configPath'));
Загрузить приложение
загрузить приложение, используя:
NODE_ENV=production node app.js
или настройку правильной среды с помощью forever или pm2
навсегда:
NODE_ENV=production forever [flags] start app.js [app_flags]
PM2 (через оболочку):
export NODE_ENV=staging
pm2 start app.js
PM2 (через .json):
process.json
{
"apps" : [{
"name": "My App",
"script": "worker.js",
"env": {
"NODE_ENV": "development",
},
"env_production" : {
"NODE_ENV": "production"
}
}]
}
А потом
$ pm2 start process.json --env production
Это решение очень простое и позволяет легко устанавливать различные конфигурационные файлы для среды производства / подготовки / разработки, а также для локальных настроек.