找不到模块'crypto'

时间:2017-11-09 09:01:43

标签: node.js authentication meteor npm

我正在尝试实施duo但是当我尝试使用它时,我收到了这个错误:

import Duo from 'duo_web';

我在 Windows 10 meteor npm install duo_web --savenode v8.9.0上安装了npm v5.5.1。我知道duo_nodejs使用了crypto模块并且还安装了它。

的package.json

"crypto": "^1.0.1",
"duo_web": "^1.0.2",

1 个答案:

答案 0 :(得分:0)

由于crypto是Node包,因此您需要在浏览器端提供它。在Meteor中,使用

最容易完成
meteor npm install --save meteor-node-stubs

这将引入您的项目和依赖项使用的Node特定包。

这些可能非常大,所以值得关注捆绑尺寸。

补充:虽然看duo_web,他们在duo_web/js/Duo-Web-v2.js有一个没有加密的浏览器版本,所以看起来最好的解决方案就是使用:

import Duo from 'duo_web';

在您的服务器代码中:

import Duo from 'duo_web/js/Duo-Web-v2';

在您的客户端代码中。 那么你就不需要在客户端加密了,因此你的捆绑包会更小。