无法将 web3 添加到 React 项目 [英] Cannot add web3 to React project

查看:43
本文介绍了无法将 web3 添加到 React 项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将 Web3 添加到 React 项目.我用

初始化了一个新项目

盖茨比新

然后,我已经安装了 web3

npm install --save web3

当我在 index.js 中包含 web3 时

从'web3'导入Web3

如果我打电话

gatsby 开发

我有一些奇怪的错误:

<块引用>

./node_modules/eth-lib/lib/bytes.js 中的错误 9:193-227找不到模块:错误:无法解析/home/test/gatsby/test/test/node_modules/eth-lib/lib"中的crypto"

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'- 安装加密浏览器"如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "crypto": false }@ ./node_modules/swarm-js/lib/api-browser.js 32:12-40@ ./node_modules/web3-bzz/lib/index.js 24:12-31@ ./node_modules/web3/lib/index.js 34:10-29@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

./node_modules/ethereumjs-util/dist/account.js 中的错误 4:13-30未找到模块:错误:无法解析 >'/home/test/gatsby/test/test/node_modules/ethereumjs-util/dist'

中的 'assert'

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "assert": require.resolve("assert/") }'- 安装断言"如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "assert": false }@ ./node_modules/ethereumjs-util/dist/index.js 29:13-33@ ./node_modules/ethereumjs-tx/dist/transaction.js 14:24-50@ ./node_modules/ethereumjs-tx/dist/index.js 3:20-44@ ./node_modules/web3-eth-accounts/lib/index.js 35:18-54@ ./node_modules/web3-eth/lib/index.js 34:15-43@ ./node_modules/web3/lib/index.js 30:10-29@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

./node_modules/ethereumjs-util/dist/object.js 中的错误 4:13-30未找到模块:错误:无法解析 >'/home/test/gatsby/test/test/node_modules/ethereumjs-util/dist'

中的 'assert'

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "assert": require.resolve("assert/") }'- 安装断言"如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "assert": false }@ ./node_modules/ethereumjs-util/dist/index.js 45:13-32@ ./node_modules/ethereumjs-tx/dist/transaction.js 14:24-50@ ./node_modules/ethereumjs-tx/dist/index.js 3:20-44@ ./node_modules/web3-eth-accounts/lib/index.js 35:18-54@ ./node_modules/web3-eth/lib/index.js 34:15-43@ ./node_modules/web3/lib/index.js 30:10-29@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

./node_modules/web3-eth-accounts/lib/index.js 中的错误 30:76-93找不到模块:错误:无法解析/home/test/gatsby/test/test/node_modules/web3->eth-accounts/lib"中的crypto"

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'- 安装加密浏览器"如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "crypto": false }@ ./node_modules/web3-eth/lib/index.js 34:15-43@ ./node_modules/web3/lib/index.js 30:10-29@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

./node_modules/web3-eth-accounts/node_modules/eth-lib/lib/bytes.js 中的错误 7:193-227找不到模块:错误:无法解析/home/test/gatsby/test/test/node_modules/web3-eth-accounts/node_modules/eth-lib/lib"中的crypto"

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }'- 安装加密浏览器"如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "crypto": false }@ ./node_modules/web3-eth-accounts/lib/index.js 29:12-40@ ./node_modules/web3-eth/lib/index.js 34:15-43@ ./node_modules/web3/lib/index.js 30:10-29@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

./node_modules/web3-providers-http/lib/index.js 中的错误 26:11-26找不到模块:错误:无法解析/home/test/gatsby/test/test/node_modules/web3-providers-http/lib"中的http"

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "http": require.resolve("stream-http") }'- 安装'stream-http'如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "http": false }@ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48@ ./node_modules/web3-core/lib/index.js 22:23-58@ ./node_modules/web3/lib/index.js 29:11-31@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

./node_modules/web3-providers-http/lib/index.js 中的错误 27:12-28找不到模块:错误:无法解析/home/test/gatsby/test/test/node_modules/web3-providers-http/lib"中的https"

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "https": require.resolve("https-browserify") }'- 安装https-browserify"如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "https": false }@ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48@ ./node_modules/web3-core/lib/index.js 22:23-58@ ./node_modules/web3/lib/index.js 29:11-31@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

./node_modules/xhr2-cookies/dist/xml-http-request.js 中的错误 21:11-26找不到模块:错误:无法解析/home/test/gatsby/test/test/node_modules/xhr2-cookies/dist"中的http"

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "http": require.resolve("stream-http") }'- 安装'stream-http'如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "http": false }@ ./node_modules/xhr2-cookies/dist/index.js 6:9-38@ ./node_modules/web3-providers-http/lib/index.js 25:11-49@ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48@ ./node_modules/web3-core/lib/index.js 22:23-58@ ./node_modules/web3/lib/index.js 29:11-31@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

./node_modules/xhr2-cookies/dist/xml-http-request.js 中的错误 22:12-28找不到模块:错误:无法解析/home/test/gatsby/test/test/node_modules/xhr2-cookies/dist"中的https"

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "https": require.resolve("https-browserify") }'- 安装https-browserify"如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "https": false }@ ./node_modules/xhr2-cookies/dist/index.js 6:9-38@ ./node_modules/web3-providers-http/lib/index.js 25:11-49@ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48@ ./node_modules/web3-core/lib/index.js 22:23-58@ ./node_modules/web3/lib/index.js 29:11-31@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

./node_modules/xhr2-cookies/dist/xml-http-request.js 中的错误 23:9-22找不到模块:错误:无法解析/home/test/gatsby/test/test/node_modules/xhr2-cookies/dist"中的os"

<块引用>

重大变化:webpack <5 用于默认包含 node.js 核心模块的 polyfill.这已不再是这种情况.验证您是否需要此模块并为其配置一个 polyfill.

<块引用>

如果你想包含一个 polyfill,你需要:- 添加回退 'resolve.fallback: { "os": require.resolve("os-browserify/browser") }'- 安装'os-browserify'如果你不想包含一个 polyfill,你可以使用一个像这样的空模块:resolve.fallback: { "os": false }@ ./node_modules/xhr2-cookies/dist/index.js 6:9-38@ ./node_modules/web3-providers-http/lib/index.js 25:11-49@ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48@ ./node_modules/web3-core/lib/index.js 22:23-58@ ./node_modules/web3/lib/index.js 29:11-31@ ./src/pages/index.js 9:0-24@ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5@ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

<块引用>

webpack 编译出现 10 个错误

我尝试手动安装这些模块,将它们添加到 package.json 等中.但没有任何效果.你能帮我吗?

谢谢

解决方案

这对我有用.将以下内容添加到您的 gatsby-node.js 配置中:

const webpack = require("webpack");export.onCreateWebpackConfig = ({ actions }) =>{actions.setWebpackConfig({插件: [新的 webpack.ProvidePlugin({缓冲区:[require.resolve("buffer/"), "Buffer"],}),],解决: {倒退: {加密":假,流":require.resolve(stream-browserify"),断言":假,util":假,http":假,https":假,os":假},},})}

I'm trying to add Web3 to a React project. I've initalized a new project with

gatsby new

Then, I've installed web3

npm install --save web3

And when I include web3 in index.js

import Web3 from 'web3'

And if I call

gatsby develop

I have some strange errors :

ERROR in ./node_modules/eth-lib/lib/bytes.js 9:193-227 Module not found: Error: Can't resolve 'crypto' in '/home/test/gatsby/test/test/node_modules/eth-lib/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }' - install 'crypto-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "crypto": false }  @ ./node_modules/swarm-js/lib/api-browser.js 32:12-40  @ ./node_modules/web3-bzz/lib/index.js 24:12-31  @ ./node_modules/web3/lib/index.js 34:10-29  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/ethereumjs-util/dist/account.js 4:13-30 Module not found: Error: Can't resolve 'assert' in >'/home/test/gatsby/test/test/node_modules/ethereumjs-util/dist'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }' - install 'assert' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "assert": false }  @ ./node_modules/ethereumjs-util/dist/index.js 29:13-33  @ ./node_modules/ethereumjs-tx/dist/transaction.js 14:24-50  @ ./node_modules/ethereumjs-tx/dist/index.js 3:20-44  @ ./node_modules/web3-eth-accounts/lib/index.js 35:18-54  @ ./node_modules/web3-eth/lib/index.js 34:15-43  @ ./node_modules/web3/lib/index.js 30:10-29  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/ethereumjs-util/dist/object.js 4:13-30 Module not found: Error: Can't resolve 'assert' in >'/home/test/gatsby/test/test/node_modules/ethereumjs-util/dist'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "assert": require.resolve("assert/") }' - install 'assert' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "assert": false }  @ ./node_modules/ethereumjs-util/dist/index.js 45:13-32  @ ./node_modules/ethereumjs-tx/dist/transaction.js 14:24-50  @ ./node_modules/ethereumjs-tx/dist/index.js 3:20-44  @ ./node_modules/web3-eth-accounts/lib/index.js 35:18-54  @ ./node_modules/web3-eth/lib/index.js 34:15-43  @ ./node_modules/web3/lib/index.js 30:10-29  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/web3-eth-accounts/lib/index.js 30:76-93 Module not found: Error: Can't resolve 'crypto' in '/home/test/gatsby/test/test/node_modules/web3->eth-accounts/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }' - install 'crypto-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "crypto": false }  @ ./node_modules/web3-eth/lib/index.js 34:15-43  @ ./node_modules/web3/lib/index.js 30:10-29  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/web3-eth-accounts/node_modules/eth-lib/lib/bytes.js 7:193-227 Module not found: Error: Can't resolve 'crypto' in '/home/test/gatsby/test/test/node_modules/web3-eth-accounts/node_modules/eth-lib/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }' - install 'crypto-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "crypto": false }  @ ./node_modules/web3-eth-accounts/lib/index.js 29:12-40  @ ./node_modules/web3-eth/lib/index.js 34:15-43  @ ./node_modules/web3/lib/index.js 30:10-29  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/web3-providers-http/lib/index.js 26:11-26 Module not found: Error: Can't resolve 'http' in '/home/test/gatsby/test/test/node_modules/web3-providers-http/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "http": require.resolve("stream-http") }' - install 'stream-http' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "http": false }  @ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48  @ ./node_modules/web3-core/lib/index.js 22:23-58  @ ./node_modules/web3/lib/index.js 29:11-31  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/web3-providers-http/lib/index.js 27:12-28 Module not found: Error: Can't resolve 'https' in '/home/test/gatsby/test/test/node_modules/web3-providers-http/lib'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "https": require.resolve("https-browserify") }' - install 'https-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "https": false }  @ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48  @ ./node_modules/web3-core/lib/index.js 22:23-58  @ ./node_modules/web3/lib/index.js 29:11-31  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/xhr2-cookies/dist/xml-http-request.js 21:11-26 Module not found: Error: Can't resolve 'http' in '/home/test/gatsby/test/test/node_modules/xhr2-cookies/dist'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "http": require.resolve("stream-http") }' - install 'stream-http' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "http": false }  @ ./node_modules/xhr2-cookies/dist/index.js 6:9-38  @ ./node_modules/web3-providers-http/lib/index.js 25:11-49  @ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48  @ ./node_modules/web3-core/lib/index.js 22:23-58  @ ./node_modules/web3/lib/index.js 29:11-31  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/xhr2-cookies/dist/xml-http-request.js 22:12-28 Module not found: Error: Can't resolve 'https' in '/home/test/gatsby/test/test/node_modules/xhr2-cookies/dist'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "https": require.resolve("https-browserify") }' - install 'https-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "https": false }  @ ./node_modules/xhr2-cookies/dist/index.js 6:9-38  @ ./node_modules/web3-providers-http/lib/index.js 25:11-49  @ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48  @ ./node_modules/web3-core/lib/index.js 22:23-58  @ ./node_modules/web3/lib/index.js 29:11-31  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

ERROR in ./node_modules/xhr2-cookies/dist/xml-http-request.js 23:9-22 Module not found: Error: Can't resolve 'os' in '/home/test/gatsby/test/test/node_modules/xhr2-cookies/dist'

BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "os": require.resolve("os-browserify/browser") }' - install 'os-browserify' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "os": false }  @ ./node_modules/xhr2-cookies/dist/index.js 6:9-38  @ ./node_modules/web3-providers-http/lib/index.js 25:11-49  @ ./node_modules/web3-core-requestmanager/lib/index.js 46:18-48  @ ./node_modules/web3-core/lib/index.js 22:23-58  @ ./node_modules/web3/lib/index.js 29:11-31  @ ./src/pages/index.js 9:0-24  @ ./.cache/this_is_virtual_fs_path/$virtual/async-requires.js 21:11-23:5  @ ./.cache/app.js 17:0-52 28:0-70 30:27-40 28:0-70

webpack compiled with 10 errors

I've tried to install these modules manually, add them in package.json, etc. But nothing works. Can you help me ?

Thank you

解决方案

This worked for me. Add the below to your gatsby-node.js config:

const webpack = require("webpack");

exports.onCreateWebpackConfig = ({ actions }) => {
    actions.setWebpackConfig({
        plugins: [
            new webpack.ProvidePlugin({
                Buffer: [require.resolve("buffer/"), "Buffer"],
            }),
        ],
        resolve: {
            fallback: {
                "crypto": false,
                "stream": require.resolve("stream-browserify"),
                "assert": false,
                "util": false,
                "http": false,
                "https": false,
                "os": false
            },
        },
    })
}

这篇关于无法将 web3 添加到 React 项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆