You need to enable JavaScript to run this app. 如何解决Node.js项目运行时出现Web3 is not defined的报错
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Node.js项目运行时出现Web3 is not defined的报错

错误解决方法

错误根因

你导入web3模块时声明的变量名为web3_utils,但后续实例化时使用了未声明的Web3变量,因此触发未定义报错。

解决步骤

  • 第一步:调整web3模块的导入命名,将导入语句修改为规范写法,直接匹配后续实例化的构造函数名:
// 把原来的 const web3_utils = require('web3') 替换为下面的代码
const Web3 = require('web3')
  • 第二步:确认你已在项目中安装web3依赖,未安装的话先执行安装命令:
    npm install web3 --save
  • 第三步:修改完成后重新执行npm run start启动项目即可。

修正后的核心代码示例

require('dotenv').config()
const express = require('express')
const bodyParser = require('body-parser')
const http = require('http')
// 修正导入命名
const Web3 = require('web3')
const HDWalletProvider = require('@truffle/hdwallet-provider')
const moment = require('moment-timezone')
const numeral = require('numeral')
const _ = require('lodash')
const axios = require('axios')

// SERVER CONFIG
const PORT = process.env.PORT || 5500
const app = express();
const server = http.createServer(app).listen(PORT, () => console.log(`Listening on ${ PORT }`))

// WEB3 CONFIG 现在可以正常实例化
const web3 = new Web3(process.env.RPC_URL)

内容的提问来源于stack exchange,提问作者trosilez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 19:36:03