我正在尝试将 Web3 添加到 React 项目。\n我已经使用以下命令初始化了一个新项目
\ngatsby new\nRun Code Online (Sandbox Code Playgroud)\n然后,我安装了web3
\nnpm install --save web3\nRun Code Online (Sandbox Code Playgroud)\n当我在 index.js 中包含 web3 时
\nimport Web3 from 'web3'\nRun Code Online (Sandbox Code Playgroud)\n如果我打电话
\ngatsby develop\nRun Code Online (Sandbox Code Playgroud)\n我有一些奇怪的错误:
\n\n\n./node_modules/eth-lib/lib/bytes.js 9:193-227\n中出现错误:找不到模块:错误:无法解析“/home/test/gatsby/test/test/node_modules/eth”中的“加密” -lib/lib'
\n
\n\n重大更改:webpack < 5 过去默认包含 Node.js 核心模块的 Polyfill。\n现在情况已不再如此。验证您是否需要此模块并为其配置一个polyfill。
\n
\n如果你想包含一个polyfill,你需要:\n- 添加后备 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'\n- 安装 'crypto-browserify'\如果你不想包含一个polyfill,你可以使用一个空模块,如下所示:\nresolve.fallback: { "crypto": false }\n\xc2\xa0@ ./node_modules/swarm-js/lib/api -browser.js 32:12-40\n\xc2\xa0@ ./node_modules/web3-bzz/lib/index.js 24:12-31\n\xc2\xa0@ ./node_modules/web3/lib/index .js 34:10-29\n\xc2\xa0@ ./src/pages/index.js 9:0-24\n\xc2\xa0@ ./.cache/ this_is_virtual_fs_path /$virtual/async-requires.js 21:11-23:5\n\xc2\xa0@ ./.cache/app.js 17:0-52 …