找不到模块:错误:无法解析“/opt/lampp/htdocs/angular-testing-app/node_modules/jwa”中的“加密”

2024-03-08

我将在我的 angular6 项目中安装 jsonwebtoken 模块npm i jsonwebtoken。安装了 jsonwebtoken 模块依赖项 jwa,但该 index.js 文件 crypto require 错误无法解析“加密”,但我已经安装了加密模块。

请帮助并解决问题。

我的错误:

ERROR in ./node_modules/jwa/index.js
Module not found: Error: Can't resolve 'crypto' in '/opt/lampp/htdocs/angular-testing-app/node_modules/jwa'
ERROR in ./node_modules/jws/lib/sign-stream.js
Module not found: Error: Can't resolve 'stream' in '/opt/lampp/htdocs/angular-testing-app/node_modules/jws/lib'
ERROR in ./node_modules/jws/lib/verify-stream.js
Module not found: Error: Can't resolve 'stream' in '/opt/lampp/htdocs/angular-testing-app/node_modules/jws/lib'
ERROR in ./node_modules/jws/lib/data-stream.js
Module not found: Error: Can't resolve 'stream' in '/opt/lampp/htdocs/angular-testing-app/node_modules/jws/lib'

我遇到了和你一样的问题,我已经解决了。 您可以按照以下步骤操作:

  1. 将此文件添加到根目录

patch.js

const fs = require('fs');
const f = 'node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js';

fs.readFile(f, 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  var result = data.replace(/node: false/g, 'node: {crypto: true, stream: true}');

  fs.writeFile(f, result, 'utf8', function (err) {
    if (err) return console.log(err);
  });
});
  1. 将此命令添加到包.json file

包.json

{...
  "scripts": {
    "postinstall": "node patch.js",
    ...
  }
}

参考:https://gist.github.com/niespodd/1fa82da6f8c901d1c33d2fcbb762947d https://gist.github.com/niespodd/1fa82da6f8c901d1c33d2fcbb762947d

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找不到模块:错误:无法解析“/opt/lampp/htdocs/angular-testing-app/node_modules/jwa”中的“加密” 的相关文章

随机推荐