javascript - 找不到模块 : Error: Can't resolve 'crypto'

标签 javascript node.js angular npm nem

我在运行 ng serve 时收到以下错误列表.

我的包JSON如下:

{   "name": "ProName",   "version": "0.0.0",   "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"   },   "private": true,   "dependencies": {
    "@angular-devkit/build-angular": "~0.12.0",
    "@angular/animations": "5.2.10",
    "@angular/common": "5.2.10",
    "@angular/compiler": "5.2.10",
    "@angular/compiler-cli": "5.2.10",
    "@angular/core": "5.2.10",
    "@angular/forms": "5.2.10",
    "@angular/platform-browser": "5.2.10",
    "@angular/platform-browser-dynamic": "5.2.10",
    "@angular/router": "5.2.10",
    "@types/dotenv": "^4.0.3",
    "@types/errorhandler": "0.0.32",
    "@types/express": "^4.16.0",
    "@types/node": "^10.5.1",
    "apostille-library": "^7.1.0",
    "core-js": "^2.5.4",
    "dotenv": "^6.0.0",
    "errorhandler": "^1.5.0",
    "express": "^4.16.0",
    "nem2-sdk": "^0.9.7",
    "rxjs": "~6.3.3",
    "stream": "0.0.2",
    "tslib": "^1.9.0",
    "typescript": "^2.9.2",
    "zone.js": "~0.8.26"   } }

我得到的错误:

ERROR in ./node_modules/aws-sign2/index.js Module not found: Error: Can't resolve 'crypto' in '/Users/MYPC/Documents/Myproj/ProName/node_modules/aws-sign2' ERROR in ./node_modules/aws4/aws4.js Module not found: Error: Can't resolve 'crypto' in '/Users/MYPC/Documents/Myproj/ProName/node_modules/aws4' ERROR in ./node_modules/ecc-jsbn/index.js Module not found: Error: Can't resolve 'crypto' in '/Users/MYPC/Documents/Myproj/ProName/node_modules/ecc-jsbn' ERROR in ./node_modules/http-signature/lib/verify.js Module not found: Error: Can't resolve 'crypto' in '/Users/MYPC/Documents/Myproj/ProName/node_modules/http-signature/lib' ERROR in ./node_modules/http-signature/lib/signer.js Module not found: Error: Can't resolve 'crypto' in '/Users/MYPC/Documents/Myproj/ProName/node_modules/http-signature/lib' ERROR in ./node_modules/nem-sdk/build/external/nacl-fast.js Module not found: Error: Can't resolve 'crypto' in '/Users/MYPC/Documents/Myproj/ProName/node_modules/nem-sdk/build/external' ERROR in ./node_modules/nem-sdk/node_modules/aws-sign2/index.js

最佳答案

我最近在我正在试验的一个小项目中尝试使用另一个库(tiff.js)时遇到了类似的问题。

我解决这个问题的方法是将以下内容添加到我的 package.json 文件中,就在 devDependencies 之后部分。

"devDependencies": {
    ...
},
"browser": {
    "crypto": false
}

尝试在应用程序中使用库时,这似乎没有任何不利影响。

关于javascript - 找不到模块 : Error: Can't resolve 'crypto' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54162297/

相关文章:

javascript - 为什么 A 和 B 在 sort() 之后相等?

Javascript 获取元素相对于屏幕左上角的位置

javascript - jQuery - 如果我用键盘移动一个 div

javascript - knockout 计算的可观察量在订阅时不会评估

javascript - 存储图像的最佳选择是字节还是文件?

angular2-jwt : useFactory directive being ignored

angular - URL 路径的某些部分被删除,并在浏览器历史记录中进行双重导航

mysql - 将 Sequelize 与 ActiveRecord 一起使用

javascript - 如何使用 pdflatex 子进程在 Node.js 中获取 PDF 作为流?

angular - Material 自动完成 : Link multiple text inputs to one autocomplete panel