Web3js

嘗試將 Web3 導入反應應用程序

  • March 29, 2022

如果我只執行 npm install web3 我會收到一堆錯誤

Module not found: Error: Can't resolve 'stream' 
Module not found: Error: Can't resolve 'crypto' 
Module not found: Error: Can't resolve 'assert'
....etc.

如果我執行 npm install 或 npm install dependencies 我會得到相同的結果。

我偶然發現了另一個問題,答案說將導入語句更改為

import Web3 from 'https://cdn.esm.sh/v58/web3@1.6.1/es2021/web3.js';

哪個在開發中有效….但是當我將它變成建構包來部署它時“目標環境不支持動態 import() 語法,因此無法在腳本中使用外部類型‘模組’”

如果我使用上面的 cdn 連結中的內容創建一個名為 web3 的本地文件,我會得到與第一種情況相同的“無法解決”錯誤。

npm install ethereum/web3.js

那應該安裝您缺少的依賴項並正確編譯

顯然,對於特定版本的 React,這可能是一個問題。目前使用最新版本 17.0.2 我沒有任何問題。因此,如果其他人遇到這種情況,我會說嘗試不同版本的反應。

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