如何在 React Native 中使用 Node Events 模块

Posted

技术标签:

【中文标题】如何在 React Native 中使用 Node Events 模块【英文标题】:How to require Node Events module in React Native 【发布时间】: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; 仍然没有运气 【参考方案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 等相同的问题。最好一次性处理好它们。

【讨论】:

以上是关于如何在 React Native 中使用 Node Events 模块的主要内容,如果未能解决你的问题,请参考以下文章

如何在 expo 中禁用 https-only fetch 请求 react native/node js

我应该如何开始使用react-native和Node.js?

如何修复错误读取“node_modules/react-native/ReactCommon/yoga/yoga/log.cpp”React Native

React-Native - 使用依赖于 node.js 核心模块的 Javascript 模块

如何在 react-native 项目中保存 info.plist 中的更改

我可以使用 React-native、firebase 和 node js 创建一个应用程序吗?