后台节点服务器提供ipfs文件上传服务源码const{create,globSource}=require('ipfs-http-client');this.ipfs=create({host:host,port:端口,协议:协议});asyncaddAll(files){letaddOptions={pin:true,//wrapWithDirectory:true,timeout:10000};try{letres=[]forawait(this.ipfs.addAll(files,addOptions)){res.push({path:result.path,size:result.size})}returnres}catch(error){throwerror}}调用addAll()方法提示错误ReferenceError:AbortControllerisnotdefined原因AbortController对node版本有要求,需要v16.xx.xx,所以只需要升级node版本即可。将node服务器系统升级为centos,可以选择node版本管理工具n进行安装nnpminstall-gndownloadnoden10.16.0//下载指定版本nlts//下载最新版本并切换node版本nοnode/8.11.3node/10.15.0node/v16.8.0查看当前版本node-v在这里找到原来的版本,如果升级不成功,可能是本地节点指向问题。n安装的源文件默认安装在/usr/local/bin下。首先检查当前版本。指向哪个节点如果不指向/usr/local/bin,修改本地配置vim~/.bash_profileN_PROFIX=/usr/localPATH=$N_PROFIX/bin:$PATHexportPATH查看当前版本node-vv16.8.0后升级完成,重新安装依赖启动服务,再次调用addAll方法,调用成功。总结一下,从遇到问题到解决问题,花费的时间主要花在升级node版本上,而不是定位问题上。遇到这个问题不能说明什么。毕竟纯靠积累的问题太多了,但是用node生态工具也花了不少时间,以后可以在这方面做更深入的研究。
