Solidity

web3.js 不適用於 React JS

  • February 28, 2022

我已經安裝了 web3.js

npm install web3

我的 App.js

import React , {Component} from "react";
import web3 from "web3";
import detectEthereumProvider from '@metamask/detect-provider'  
import KryptoBird from "../abis/KryptoBird.json";

class App extends Component {

   render () {
       return (
           <div>
               <h1>NFT MarketPlace </h1>
           </div>
       )
   }
}



export default App;

但是當我跑步時

npm start 

我得到以下錯誤![執行反應伺服器後出錯][1]

如果我在 App.js 文件中評論 web3 的導入語句,它工作正常。我有節點版本 16。

任何幫助將不勝感激 !!!提前致謝

這與 webpack 設置有關。

如果您使用的是 create-react-app,我在這裡發布了一個答案:

<https://stackoverflow.com/questions/70472965/web3-issue-react-application-not-compiling/70512623#70512623>

如果您使用的是 webpack,這裡是相關的答案:

<https://stackoverflow.com/questions/70559396/webpack-breaking-change>

Web3 和 Create-react-app 如果您使用的 create-react-app 版本 >=5,您可能會遇到建構問題。這是因為最新版本的 create-react-app 中不包含 NodeJS 的 polyfill。

請參閱以下連結中的解決方案

<https://github.com/ChainSafe/web3.js#troubleshooting-and-known-issues>

引用自:https://ethereum.stackexchange.com/questions/117474