2016-06-29 1 views
0

私はelasticsearchにはangularjsで新しく、elasticsearchを角度で積分しようとしています。次のエラーが表示されます。「esFactoryは関数ではありません」 node.jsがインストールされていません。それは必須ですか?esFactoryが関数ではない

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

私はエラーを取得する:私は2つの角度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> 
関連する問題