首页 > 解决方案 > 无法导入 web3

问题描述

我正在尝试为我的 dapp 添加一个不错的 GUI,同时对与 Web 编程相关的所有内容完全无能。我用 webpack 做的第一个版本有效(但我真的不明白如何以及为什么)。我现在开始第二次迭代,为了最大限度地简化,我决定从 webpack 切换到 vite ( https://vitejs.dev/ )。根据指南( https://vitejs.dev/guide/ )中给出的描述初始化项目后,我设法让“hello vite”站点运行。接下来我添加了Web3

npm install web3

然后我main.js

import './style.css';

document.querySelector('#app').innerHTML = `
 <h1>Hello Vite!</h1>
 <a href="https://vitejs.dev/guide/features.html" target="_blank">Documentation</a>
`

import './style.css';
import Web3 from "web3";

document.querySelector('#app').innerHTML = `
  <h1>Hello Vite!</h1>
  <a href="https://vitejs.dev/guide/features.html" target="_blank">Documentation</a>
`

但是,更改此行后,出现以下错误:

Uncaught ReferenceError: process is not defined
    at node_modules/util/util.js (util.js:109)
    at __require2 (web3.js?v=5afc53e8:17)
    at node_modules/web3-core-requestmanager/lib/index.js (index.js:20)
    at __require2 (web3.js?v=5afc53e8:17)
    at node_modules/web3-core/lib/index.js (index.js:22)
    at __require2 (web3.js?v=5afc53e8:17)
    at node_modules/web3/lib/index.js (index.js:29)
    at __require2 (web3.js?v=5afc53e8:17)
    at dep:web3:1

标签: web3vite

解决方案


“未定义进程”意味着您正在尝试在浏览器中运行特定于 Node.js 的 javascript。如果web3打算在浏览器中运行,则需要类似 webpack 的东西。


推荐阅读