2016-11-27 14 views
2

angular2アプリケーションでfuse.jsをインポートしようとしましたが、例外が発生しました(ヒューズが定義されていません)。 パッケージ内の定義ファイル(index.d.ts)も確認します。Angular 2アプリケーション(typescript)でfuse.jsを使用

typescriptですで私のクラスは次のとおりです。

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 
    } 

} 

は私が

import * as Fuse from 'fuse.js'; 

このライブラリを使用する正しい方法は何でも試してみましたか?

+0

私が強調し試合をサポートし、角度+のfusejsの統合を行いました。この記事はほぼ1年前のものなので、すでに解決策を見つけたと思いますが、他の人にそれが必要な場合に備えてここに掲載します: https://www.npmjs.com/package/angular-fusejs – leblma

答えて

1

入力は8日前にプロジェクトに追加されました。 hereから最新のNPMリリースを見ると、入力が含まれていないことがわかります。

あなたがmasterやグラブファイルpackage.jsonindex.d.tsからパッケージを引っ張るのいずれか場合は、コンソールを見るとimport * as Fuse from 'fuse.js';

でパッケージを使用することができます、私はまだエラーCannot find module 'fuse.js'を取得していますが、それはですワーキング。それが何であるかはっきりしていません。

バージョン2.6.1はタイピングをサポートする、昨日NPMにプッシュました - 参照here

+1

それはありません私のために働いて、fuse.jsをtypescriptクラスとして書き直しました。それは一時的な解決策です。 – Dag

+0

あなたのクラスを投稿する心は? また、新しいバージョンがNPMにプッシュされるまでは、 'declare var Fuse:any;'を追加するだけです。IntelliSenseは取得できませんが、少なくともTSがコンパイルエラーを投げないようにします。 – onetwothree

+1

[ここ](https://codepad.co/snippet/HrkAikGa)クラスがあります。変数は正しい型ではありませんが動作します。私が言ったように、それは一時的な解決策です – Dag

関連する問題