2016-11-27 5 views
2

J'ai essayé d'importer fuse.js dans une application angular2, mais je reçois une exception (fusible n'est pas défini). Je vérifie également le fichier de définitions (index.d.ts) dans le paquet.utiliser fuse.js dans Angular 2 application (tapuscrit)

ma classe dactylographiée est:

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 
    } 

} 

J'ai essayé aussi avec

import * as Fuse from 'fuse.js'; 

Quelle est la bonne façon d'utiliser cette bibliothèque?

+0

Je l'ai fait une intégration angulaire + de fusejs qui prend en charge surbrillance des correspondances. Ce post a presque 1 an, donc je suppose que vous avez déjà trouvé une solution, mais je laisse tomber ici au cas où quelqu'un d'autre en aurait besoin: https://www.npmjs.com/package/angular-fusejs – leblma

Répondre

1

Les typages ont été ajoutés au projet il y a seulement 8 jours. Si vous regardez la dernière version de NPM de here vous verrez que les typages ne sont pas inclus.

Si vous tirez soit le package à partir master ou des fichiers appui package.json et index.d.ts, alors vous serez en mesure d'utiliser le package avec import * as Fuse from 'fuse.js';

regardant la console, je reçois toujours l'erreur Cannot find module 'fuse.js', mais il est travail. Je ne sais pas de quoi il s'agit.

version 2.6.1 a été repoussée à NPM hier, qui prend en charge les typages - voir here

+1

Je n'ai pas travaillé pour moi, j'ai résolu de réécrire le fusible.js comme classe de tapuscrit. c'est une solution temporaire. – Dag

+0

Vous voulez poster votre classe? En outre, un correctif alternatif jusqu'à ce qu'une nouvelle version soit envoyée à NPM est d'ajouter 'declare var Fuse: any;' Vous n'obtiendrez pas intellisense mais au moins cela empêchera TS de lancer des erreurs de compilation. – onetwothree

+1

vous pouvez trouver la classe [ici] (https://codepad.co/snippet/HrkAikGa). les variables n'ont pas le bon type mais cela fonctionne. Comme je l'ai dit, c'est une solution temporaire – Dag