2017-04-11 92 views
2

我安装模块:如何在Angular2中使用'crypto'模块?

npm install --save crypto 

我将其导入到我的组件:

import { createHmac } from "crypto"; 

,但我得到的错误:

ERROR in -------------- (4,28): Canno t find module 'crypto'.

我在做什么错?

回答

3

您需要安装第三方库的定义文件,如crypto。这样打字稿可以找到它的“含义”。

我觉得定义文件是:

npm install --save-dev @types/crypto-js 

然后你就可以导入像模块:

import * as crypto from "crypto"; 

如果你不能找到该lib中的定义文件,你可以把它写您可以自己或作为解决方法,您可以将模块声明为any,但typescript将无法自动完成这些方法。

declare var crypto: any; 

和使用它的方法,如:

crypto.createHmac.. 
+0

但是我认为[加密JS(https://www.npmjs.com/package/crypto-js)是不同的模块比[加密(https://www.npmjs.com/package/crypto)。 – johnerfx

+0

@johnerfx啊感谢您的反馈,您可以将模块声明为任何模块或自行创建其定义文件。我会用一个例子来编辑我的答案。 – echonax

+0

感谢您的答案,但我仍然无法使它工作:错误TypeError:crypto.createHmac不是一个函数 – johnerfx

相关问题