2016-06-21 4 views
0

Я пытаюсь использовать Forge (https://github.com/digitalbazaar/forge) в моем проекте Angular 2.import-forge импорт в угловой 2 сервис

Я выполнил следующую команду: npm install node-forge Эта команда создала каталог узлов в моем приложении (в каталоге узлов-модулей).

Я добавил ссылку на кузницу в файл package.json: "node-forge": "0.6.39" (раздел зависимостей).

Теперь я хочу, чтобы импортировать зависимость узла кузницы в моем угловом 2 службы (файл машинопись) со следующим кодом:

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'; и у меня есть следующие ошибки (команда нг служить) в консоли:

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

Итак, кто-то знает, как я могу импортировать этот узел-кузнечный зависимость (используйте пакет NPM)? Я пропустил шаг в своем процессе?

Благодарим за помощь!

ответ

1

Вы должны определения машинописи, а также пакет NPM ..

Я не уверен, если этот пакет имеет DefinitelyTyped пакет, так что вы можете попробовать

npm install typings -g 
typings install node-forge 

Если это не работает попробуйте:

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(); 
    } 
} 
Смежные вопросы