2017-04-11 89 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

相關問題