当前位置:   article > 正文

连接web3出现不是构造constructor错误 const web3 = new Web3(ethereumNodeUrl);TypeError:Web3 is not a constructor_typeerror: web3 is not a constructor

typeerror: web3 is not a constructor

项目场景:

在使用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');
  • 1

在这里插入图片描述


原因分析:

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');
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/664218
推荐阅读
相关标签
  

闽ICP备14008679号