2.3.1 • Published 3 years ago
config-settings v2.3.1
config-setttings
install
npm install config-settings --save
Usage
Use with JsonConfig
{
"var":"xxxx",
"integer":111,
"dir":"/var/xxx",
"dirNotExist":"1234567890qwerty",
"file":"/var/filename",
"fileDirExist":"/var/filenotexist",
"fileNotExist":"098987655oiouyuyt",
"int":11,
"notInt":"xx",
"url":"http://baidu.com"
}
const config = require('../config.json');
const {JsonConfig} = require('config-settings');
const jsonConfig = new JsonConfig({
configObject:config,
schema: {
'var': {type:String, required: true},
'integer': {type:Number, required: true},
'dir': {type:TYPE_DIRECTORY, required: true},
'file': {type:TYPE_FILE, required: true},
'int': {type:Number, required: true},
'url':{type:TYPE_URL, required: true, afterParse: function(key, value, isFromWatch) {
console.log('the url is ', value);
}},
'object': {
type: {
'key1': {type:String, required: true}
}
}
}
});
var varstr = jsonConfig.getValue('var');//get xxxx
var integer = jsonConfig.getValue('integer');//get 111
Use the ConsulSyncConfig
const {ConsulSyncConfig} = require('config-settings');
const settings = new ConsulConfig({
consulAddr:'127.0.0.1:8500',
schema: {
'var': {type:String, required: true},
'integer': {type:Number, required: true},
'dir': {type:TYPE_DIRECTORY, required: true},
'file': {type:TYPE_FILE, required: true},
'int': {type:Number, required: true},
'url': {type:TYPE_URL, required: true, afterParse: function(key, value, isFromWatch) {
console.log('the url is ', value);
}, watch: function(error, key, value) {
console.log('the new url is ', value);
}},
'object': {
type: {
'key1': {type:String, required: true}
}
}
}
});
const varstr = settings.getValue('var');
const integer = settings.getValue('integer');
Attention
When one of element parse failed, the module will throw Error in asynchronous way.
API
See the document of api
Test
You should set the environment variable of CONSUL_SERVER
in format of ip:port
before npm run
.