2016-06-29 9 views
0

저는 elasticsearch을 처음 사용하여 angularjs으로 elasticsearch을 각도로 통합하려고합니다. 다음과 같은 오류가 발생합니다. "esFactory가 함수가 아닙니다." node.js을 설치하지 않았습니다. 그것은 필요한가 ??esFactory가 함수가 아닙니다.

  • angular.min.js
  • elasticsearch.angular.js

내가 오류를 얻을 : 나는 두 각도 libs와 사용하고

var EsConnectorApp=angular.module('elasticsearchtest',['elasticsearch']); 

EsConnectorApp.service('es',[function(esFactory){ 
    return esFactory({ 
     host:'localhost:9200' 
    }); 

}]); 

EsConnectorApp.controller('ServerHealthController', function($scope, es) { 

    es.cluster.health(function (err, resp) { 
     if (err) { 
      $scope.data = err.message; 
     } else { 
      $scope.data = resp; 
     } 
    }); 
}); 

: 다음은 내 코드입니다 :

esFactory not a a function 

답변

0

이렇게 컨트롤러를 다시 작성하면 작동합니다 :

var EsConnectorApp= angular.module('elasticsearchtest', ['elasticsearch']); 
EsConnectorApp.service('es',function(esFactory) { 
    return esFactory({ 
     host: 'localhost:9200' 
    }); 

}); 
EsConnectorApp.controller('ServerHealthController', ['$scope', 'es', function($scope, es) { 
    console.log('working'); 
    es.cluster.health(function(err, resp) { 
     if (err) { 
      $scope.data = err.message; 
     } else { 
      $scope.data = resp; 
     } 
    }); 

}]); 

서비스를 정의 할 때 '['가 제거되고 오류가 제거됩니다. EsConnectorApp.service 가입일 ('ES'[함수 (...]); EsConnectorApp.service 행 ('ES'기능 (...));

내 HTML을 포함

<script src="node_modules/elasticsearch-browser/elasticsearch.angular.min.js"></script> 
관련 문제