2017-08-10 80 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';

之後,它正在工作。