angular高版本报cannot resolve error问题

最近使用ionic5的版本做jwt加密时,一直报Can't resolve 'crypto'的错误。而以前ionic3的版本却没有这样的问题。

发现jwt中是使用了crypto,而cryptonodejs自带的方法。

查了些资料有说angular高本版移除了这些方法,比如crypto,fs,https,net,path,stream,tls,zlib

很奇怪,为啥这样处理。下面我们需要找到配置的方法,把这些方法加回来。

node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.js

找到该路径的文件,其中会看到一个配置node: false

我们将该配置改成如下:
node: {crypto: true, stream: true}
根据我们的需要进行添加。