2017-08-10 66 views
0

根据Kibana documentation我可以将elasticsearch作为服务访问并运行自定义查询。Kibana 5从插件访问es服务

我试图在我自己的插件(使用模板kibana插件服务生成)中执行此操作,但是angularjs无法将'es'或'esAdmin'识别为有效的服务。

唯一的例外是这样的:

Uncaught Error: [$injector:modulerr] Failed to instantiate module kibana due to: 
Error: [$injector:modulerr] Failed to instantiate module esAdmin due to: 
Error: [$injector:nomod] Module 'esAdmin' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. 
http://errors.angularjs.org/1.4.7/$injector/nomod?p0=esAdmin 

我尝试做的是以下几点:

uiModules.get('kibana', ['esAdmin', 'es']) 
.run(function (esAdmin, es) { 
    es.ping() 
    .then(
    () => {console.log("es pinged");} 
    ).catch(err => { 
    console.log(err); 
    }); 

});

我应该导入或做什么才能使用此服务?

回答

0

我犯了两个错误:

  1. esAdmin和ES不是模块,因此我并不需要注入他们作为角模块依赖
  2. 我错过模块自动加载导入:import 'ui/autoload/modules';

之后,它正在工作。