结论
web3的当前版本需要EventTarget类,而使用的node.js版本太低,高版本才支持EventTarget
问题描述
使用npm安装完web3后,执行下列语句
const { Web3 } = require('web3');
发生如下Eroor
Uncaught ReferenceError ReferenceError: EventTarget is not defined
问题分析
经过多次搜索,没有在网上找到相同的问题。
经过搜索,node.js中在后续高版本中添加了EventTarget类。
(浏览器中的DOM也存在EventTarget对象哦)
因此,搜索官方node.js文档中发现EventTarget类的全局支持版本为15.0.0以上。
而我的node.js版本为v14.18.1
解决方案
//清除npm缓存
npm cache clean -f
安装最新的稳定版(下载链接)
安装完成后,查看最新版本
OK好了,再次执行下面的语句,能正常导入了。
const { Web3 } = require('web3');