【问题标题】:Stream module in React NativeReact Native 中的 Stream 模块
【发布时间】:2022-03-26 01:00:34
【问题描述】:

我想在 React Native 项目中使用依赖于流 (require('stream')) 的节点库。

这将失败并出现错误 stream could not be found within the project,因为 stream 是 React Native 中不可用的 nodejs 包。

我能做什么?

我读到https://github.com/browserify/stream-browserify 允许在浏览器中使用流。但是我怎样才能使库中的require('stream')(我无法控制)需要stream-browserify

【问题讨论】:

    标签: javascript node.js reactjs react-native


    【解决方案1】:

    我在我的 ReactNative 项目中遇到了同样的问题并尝试了很多建议,但最终对我有用的是使用解析器:metro.config.js 中的部分。

    我的问题在于流和加密。

    这是解决我的问题的解析器部分-

    resolver: {
      extraNodeModules: {
          stream: require.resolve('readable-stream'),
          crypto: require.resolve('react-native-crypto-js'),
      }
    },
    

    【讨论】:

    • 我应该在哪里添加这段代码?
    • @ben 您应该在项目的根目录中创建metro.config.js 并将其添加到那里。
    【解决方案2】:

    我遇到了同样的错误,我通过安装流解决了它:

    npm install stream
    

    【讨论】:

      【解决方案3】:

      我也遇到了同样的错误,最后安装了:

      1. yarn add stream
      2. yarn add events

      在我的情况下,依赖项问题开始尝试使用此库生成 HMAC:https://github.com/crypto-browserify/createHmac

      【讨论】:

        猜你喜欢
        • 2017-08-03
        • 1970-01-01
        • 2016-01-13
        • 1970-01-01
        • 2021-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-06
        相关资源
        最近更新 更多