The project comes from https://github.com/nswbmw/config-lite
And, improvements include :
-
Support multiple configurations, which are merged rather than configured.
-
Support to load all sub-configuration items of profile.
This extends "config-lite", and improve some functions.
A super simple & flexible & intuitive config module, support yaml
& toml
.
$ npm i wjx-config-lite --save
In v1:
const config = require('config-lite');
In v2, you should specify config_basedir
directory for bubbling find config file.
const config = require('config-lite')(__dirname);
const config = require('config-lite')(__dirname);
or:
const config = require('config-lite')({
filename: 'test',
config_basedir: __dirname,
config_dir: 'config'
});
- filename: config file name, default:
default
, support:['.js', '.json', '.node', '.yaml', '.yml', '.toml']
. - config_basedir: directory for begining bubbling find config directory.
- config_dir: config directory name, default:
config
. - config: default config object that overwrite config files.
environment option > custom option > default option
For example:
$ NODE_ENV=test NODE_CONFIG='{"port":3000}' node app.js --port=3001
loading order:
--port=3001
> NODE_CONFIG='{"port":3000}'
> opt.config > test config file > default config files
- NODE_ENV -> filenames, such as,
default
,default-mysql
,default-mongodb
, and etc. - CONFIG_BASEDIR || NODE_CONFIG_BASEDIR -> config_dirname
- CONFIG_DIR || NODE_CONFIG_DIR -> config_dir
- CONFIG || NODE_CONFIG -> config
$ npm test
MIT