2016-11-27 3 views
2

Ich habe versucht, fuse.js in einer angular2-App zu importieren, aber ich bekomme eine Ausnahme (Fuse ist nicht definiert). Ich überprüfe auch die Definitionsdatei (index.d.ts) im Paket.Verwenden Sie fuse.js in Angular 2-Anwendung (Typoskript)

in Typoskript meiner Klasse ist:

import 'fuse.js'; 

export class Myclass{ 

    /**some code*/ 

    public mySearchFunction(text, list, Opts){ 
    let fuseSearch = new Fuse(list, Opts); 
    let fuseResults: any[] = fuseSearch.search(text); 
    return fuseResults 
    } 

} 

Ich habe auch versucht mit

import * as Fuse from 'fuse.js'; 

Was ist der richtige Weg, um diese Bibliothek zu benutzen?

+0

ich eine Winkel + fusejs Integration hat, die Übereinstimmungen hervorheben unterstützt. Dieser Beitrag ist fast 1 Jahr alt, also denke ich, dass Sie bereits eine Lösung gefunden haben, aber ich lasse das hier fallen, falls jemand anderes es braucht: https://www.npmjs.com/package/angular-fusejs – leblma

Antwort

1

Die Typisierung wurde erst vor 8 Tagen dem Projekt hinzugefügt. Wenn Sie sich die neueste NPM-Version von here ansehen, sehen Sie, dass die Typisierungen nicht enthalten sind.

Wenn Sie entweder das Paket aus master oder greifen Dateien ziehen package.json und index.d.ts, dann werden Sie in der Lage sein, um das Paket zu verwenden, um mit import * as Fuse from 'fuse.js';

an der Konsole suchen, bin ich immer noch Fehler immer Cannot find module 'fuse.js', aber es ist Arbeiten. Nicht sicher, worum es geht.

Version 2.6.1 wurde gestern NPM geschoben, die Typisierungen unterstützt - siehe here

+1

it doesn 't Arbeit für mich, löste ich fire.js als Typoskript Klasse umschreiben. Es ist eine vorübergehende Lösung. – Dag

+0

Schreiben Sie Ihre Klasse? Eine alternative Korrektur, bis eine neue Version zu NPM gepusht wird, ist das Hinzufügen von 'declare var Fuse: any;' Sie erhalten kein Intellisense, aber es wird zumindest verhindern, dass TS Kompilierungsfehler verursacht. – onetwothree

+1

finden Sie die Klasse [hier] (https://codepad.co/snippet/HrkAikGa). Variablen haben nicht den richtigen Typ, aber es funktioniert. Wie ich schon sagte, es ist eine temporäre Lösung – Dag