我将在我的angular6项目中安装jsonwebtoken模块npm i jsonwebtoken.安装了jsonwebtoken模块Dependencies jwa,但是index.js文件加密需要错误无法解析'crypto',但我已经安装了crypto模块.
请帮助并解决问题.
我的错误:
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'
Run Code Online (Sandbox Code Playgroud)
我遇到了和你一样的问题,我解决了.您可以按照以下步骤操作:
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);
});
});
Run Code Online (Sandbox Code Playgroud)
的package.json
{...
"scripts": {
"postinstall": "node patch.js",
...
}
}
Run Code Online (Sandbox Code Playgroud)
参考:https://gist.github.com/niespodd/1fa82da6f8c901d1c33d2fcbb762947d
小智 5
但我没有使用预安装,而是手动编辑了“node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js”并更改了该正则表达式中的行:
// old:
node: false,
// new:
node: { crypto: true, stream: true },
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1663 次 |
| 最近记录: |