我正在尝试在我的Angular 2项目中使用Forge(https://github.com/digitalbazaar/forge)。
我运行了以下命令:npm install node-forge
这个命令在我的应用程序中创建了node-forge目录(在node-modules目录中)。
我在我的package.json文件中添加了node-forge引用:"node-forge": "0.6.39"
(相依性区段)。
现在,我想用下面的代码在我的angular 2服务(typescript文件)中导入node-forge依赖关系:
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';
和i在控制台中出现以下错误(ng serve命令):
hash-password.service.ts (2, 23): Cannot find module 'node-forge'.
hash-password.service.ts (11, 16): Cannot find name 'forge'.
那么,有人知道我如何导入这个node-forge依赖项(使用npm包)吗?我是否遗漏了过程中的某个步骤?
谢谢你的帮助!
4条答案
按热度按时间ig9co6j11#
就
import * as forge from 'node-forge'
,就这样。lb3vh1jj2#
您需要typescript定义以及npm包。
我不确定此软件包是否包含
DefinitelyTyped
软件包,因此您可以尝试如果此方法不起作用,请尝试:
qgelzfjb3#
安装这两个软件包
和
import * as forge from 'node-forge'
,就这样......你可以走了。lbsnaicq4#
这是因为'node-forge'是一个CommonJS模块,它可能不支持所有的模块。导出为命名导出。CommonJS模块总是可以通过默认导出导入。
以下是我的工作: