2

./node_modules/cipher-base/index.js 3:16-43 中的错误

未找到模块:错误:无法解析“C:\Users\Sumana\Desktop\Web3\web3app\node_modules\cipher-base”中的“流”

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

如果你想包含一个 polyfill,你需要: - 添加一个后备 'resolve.fallback: { "stream": require.resolve("stream-browserify") }' - 安装 'stream-browserify' 如果你不想要包含一个 polyfill,你可以使用这样的空模块:resolve.fallback: { "stream": false }

4

2 回答 2

1

您可以通过 2 种方式解决此问题。

  • 删除 node_module 然后在运行npm install后将您的react-scripts版本从“5.0.0”更改为“4.0.3”

或者

  • 配置 webpack。

1-安装这些软件包。

npm install fs assert https-browserify os os-browserify stream-browserify stream-http react-app-rewired

2 - 在 package.json 旁边的项目的根目录中创建 config-coverrides.js

const webpack = require('webpack');
module.exports = function override(config, env) {
    config.resolve.fallback = {
        url: require.resolve('url'),
        fs: require.resolve('fs'),
        assert: require.resolve('assert'),
        crypto: require.resolve('crypto-browserify'),
        http: require.resolve('stream-http'),
        https: require.resolve('https-browserify'),
        os: require.resolve('os-browserify/browser'),
        buffer: require.resolve('buffer'),
        stream: require.resolve('stream-browserify'),
    };
    config.plugins.push(
        new webpack.ProvidePlugin({
            process: 'process/browser',
            Buffer: ['buffer', 'Buffer'],
        }),
    );

    return config;
}
于 2022-01-18T18:16:51.537 回答
0

上周我也遇到了这个问题。它已在许多地方记录在案。我不明白如何修复它,但似乎制作图书馆的人会修复它https://github.com/ChainSafe/web3.js/issues/4659

于 2022-01-02T22:27:11.587 回答