2016-06-21 18 views
0

私のAngular 2プロジェクトでForge(https://github.com/digitalbazaar/forge)を使用しようとしています。角度2サービスのノード鍛造インポート

私は次のコマンドを実行しました:npm install node-forge このコマンドは、(node-modulesディレクトリの)アプリケーションにnode-forgeディレクトリを作成しました。

私のpackage.jsonファイルにnode-forgeの参照を追加しました:"node-forge": "0.6.39"(依存関係のセクション)。

は今、私は次のコードで私の角度2サービス(typescriptファイル)内のノード・鍛造の依存関係をインポートする:

import { Injectable } from '@angular/core'; 
import { Forge } from 'node-forge'; 

@Injectable() 
export class HashPasswordService { 
    constructor() {} 
    buildHash(input: string) { 
    var hmac = forge.hmac.create(); 
    hmac.start('sha512', input); 
    hmac.update(input); 
    return hmac.digest().toHex(); 
    } 
} 

が、インポートは動作しません:import { Forge } from 'node-forge';と私は、次のエラーを持っていますコンソール(NGコマンドを果たす)に:

hash-password.service.ts (2, 23): Cannot find module 'node-forge'. 
hash-password.service.ts (11, 16): Cannot find name 'forge'. 

だから、誰かが私が(NPMパッケージを使用)このノード・鍛造の依存関係をインポートできる方法を知っていますか?プロセスの一歩を逃していますか?

ありがとうございました!

答えて

1

あなたはこれが動作しない場合は、

npm install typings -g 
typings install node-forge 

を試すことができますので、私は、このパッケージは、DefinitelyTypedパッケージを持っているかどうかわからないんだけど

.. typescriptです定義だけでなく、NPMパッケージを必要とします試してください:

import { Injectable } from '@angular/core'; 

declare var Forge: any; 

@Injectable() 
export class HashPasswordService { 
    private forge: any; 

    constructor() { 
    this.forge = new Forge(); 
    } 

    buildHash(input: string) { 
    var hmac = forge.hmac.create(); 
    hmac.start('sha512', input); 
    hmac.update(input); 
    return hmac.digest().toHex(); 
    } 
} 
関連する問題