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 --saveIn 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=3001loading 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 testMIT