最近使用ionic5的版本做jwt加密时,一直报Can't resolve 'crypto'的错误。而以前ionic3的版本却没有这样的问题。
发现jwt中是使用了crypto,而crypto是nodejs自带的方法。
查了些资料有说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}
根据我们的需要进行添加。