【问题标题】:How to require Node Events module in React Native如何在 React Native 中使用 Node Events 模块
【发布时间】:2015-10-13 04:52:07
【问题描述】:

如何在我的 React Native 项目中需要 events Node 模块?我遇到了utilhttp 的一些模块依赖问题,我通过使用Browserify 打包解决了这些问题。

我尝试对events采用相同的方法:

npm install events
var EventEmitter = require('events').EventEmitter;

使用 Browserify 打包后,我仍然从 React Native 收到相同的错误:“需要未知模块 'events'。”

【问题讨论】:

  • 这是在 nodejs 上运行还是在浏览器中运行?
  • 它实际上是在 React Native 的环境中运行的:facebook.github.io/react-native/docs/…
  • 我的猜测是因为events 需要函数调用作为初始化程序的一部分,你会遇到麻烦。也许试试var event = require('events'); eventEmitter = event.EventEmitter;
  • 是的,捆绑文件已创建。与 utilhttp 配合使用效果很好。
  • var event = require('events'); eventEmitter = event.EventEmitter; 仍然没有运气

标签: node.js react-native


【解决方案1】:

创建文件EventEmitter.js

const EventEmitter = require('events')

const emitter = new EventEmitter()

export default emitter

将其导入您的组件:

import EventEmitter from '@/lib/EventEmitter'

EventEmitter.on('example', this.do_this)

【讨论】:

    【解决方案2】:

    这就是你想要的:https://github.com/facebook/react-native/issues/1058

    var EventEmitter = require('EventEmitter');
    

    【讨论】:

      【解决方案3】:

      我通过react-native-webpack-server 使用事件和一堆其他节点核心模块。这需要一些设置,否则您将遇到与 Buffer、assert、util、crypto 等相同的问题。最好一次性处理好它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-26
        • 2019-01-07
        • 2018-02-16
        • 2018-12-06
        • 1970-01-01
        • 2015-09-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多