2016-11-18 3 views
3

Ich verwende Angular 2 mit angular-cli und ich installierte die Elasticsearch Bibliothek mitElasticsearch und Angular 2

nom install --save elasticsearch 

Es gibt ein elasticsearch Verzeichnis in node_modules.

ich den Import mit

import * as elasticsearch from 'elasticsearch'; 

Wie ich verstehe dies ein relativer Pfad ist, der den node_modules Weg lösen wird und angular-cli (mit ng serve) wird alles richtig zu bündeln kümmern.

Allerdings bekomme ich folgende Fehlermeldung:

ERROR in [default] /Users/xxx/yyy/src/app/shared/elasticsearch/es.service.ts:4:31 
Cannot find module 'elasticsearch'. 

Jede Hilfe würde geschätzt.

Ich habe bestätigt, dass das Problem mit einem leeren Projekt auftritt, das mit ng init generiert wird.

auch so etwas wie dies zu tun:

var elasticsearch = require('elasticsearch'); 

gut funktioniert.

+0

@ LauraAbadAvilés Ist das eine Antwort auf meine Frage oder eine andere Frage? –

+0

Es war eine Frage, aber ich finde es heraus. client = new elasticsearch.Client ({ host: 'http: // localhost: 9200', // log: 'trace' }); –

+0

@ LauraAbadAvilés Ja tatsächlich. Was ist mit meiner Frage und Angular2, wie hast du die Bibliothek importiert? –

Antwort

2

Der einfachste Weg, diese Funktion zu erhalten, ist es, zunächst die Typdefinitionen zu installieren:

npm install --save-dev @types/elasticsearch 

Und dann, mit Ihren neuen glänzenden Arten bewaffneten, können Sie Import-Anweisungen wie diese verwenden:

import { Client } from 'elasticsearch'; 

... und es wie folgt verwendet werden:

let x = new Client({ /* Your parameters here */});