获取配置文件中内容
优质
小牛编辑
124浏览
2023-12-01
在程序入口文件index.js 中可以在init方法中获取server对象,通过该server可以获取config,具体方式如下:
init(server, options) {
const config = server.config();
const url = config.get('elasticsearch.url');
}
自定义配置
1.配置校验与默认值
在index.js new kibana.Plugin中可以传入config方法,如下:
config(Joi) {
return Joi.object({
enabled: Joi.boolean().default(true),
scheduleTime: Joi.number().default(60),
mergePattern: Joi.string().default('[^a-z]+$'),
}).default();
},
这里使用的Joi,通过它可以设置配置参数的数据类型,以及默认值。参数默认格式是[pluginName].enabled等。
2.参数注入
参数注入的目的是前端可以使用该参数,对于server端获取参数,完全可以使用server.config().get('elasticsearch.url')
.
注入的方式是在uiExports中injectDefaultVars:
export default function (kibana) {
return new kibana.Plugin({
require: ['elasticsearch'],
name: 'cleaner',
uiExports: {
injectDefaultVars: function (server) {
const config = server.config();
const pattern = config.get('cleaner.mergePattern');
return {
mergePattern: pattern,
};
}
},
});
}
3.前端获取参数
import chrome from 'ui/chrome';
const mergePattern = chrome.getInjected('mergePattern');