连接web3出现不是构造constructor错误 const web3 = new Web3(ethereumNodeUrl);TypeError:Web3 is not a constructor
在使用web3.js去连接本地私链的时候,web3出现连接异常。
项目场景:
在使用web3.js去连接本地私链的时候,web3出现连接异常
问题描述
在明明已经导入了Web3的情况下,还是提示 Web3
在这个上下文中并不是一个构造函数,说明没有导入web3成功,会出现一个错误
const web3 = new Web3(‘http://127.0.0.1:8888’);
^
TypeError: Web3 is not a constructor
at Object. (D:\hjy\DAPP学习\先锋积分\react_activity\src\contract\deploy.js:33:14)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions…js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47
Node.js v18.15.0
const Web3 = require('web3');
原因分析:
Web3.js 4.x
引入了一些变化,其中之一是更改了导入 Web3 对象的方式。在 4.x
版本中,你应该使用对象解构来导入 Web3
,而不是直接导入整个 Web3 模块。
可以查看自己下载的web3模块是多少版本的,输入npm list web3
,可以看到现在下载的是4.8
版本的web3
解决方案:
在4.x版本中不能直接const Web3 = require('web3');
,要通过解构得到Web3对象,所以可以从 Web3 模块中解构出 Web3 对象
const { Web3 } = require('web3');
更多推荐
所有评论(0)