如何在React Native中引入Node事件模块

5

如何在React Native项目中使用events节点模块?我在使用utilhttp时遇到了一些模块依赖性问题,通过使用Browserify进行打包后解决了这些问题。

我尝试以同样的方式使用events

npm install events

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

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


这是在Node.js上运行还是在浏览器中? - Asad Saeeduddin
我的猜测是因为“events”需要函数调用作为初始化器的一部分,所以你可能会遇到麻烦。也许尝试使用“var event = require('events'); eventEmitter = event.EventEmitter;”? - brandonscript
是的,捆绑文件已经创建。与 utilhttp 配合使用效果很好。 - mdunkle
仍然无法成功运行 var event = require('events'); eventEmitter = event.EventEmitter; - mdunkle
React Native内置了事件发射器FWIW。 - Colin Ramsay
显示剩余2条评论
3个回答

2

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)

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接