如何在 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 模块?我遇到了util
和http
的一些模块依赖问题,我通过使用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;
?
是的,捆绑文件已创建。与 util
和 http
配合使用效果很好。
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 模块