在主进程的话,可以定义一个继承 Event Emitter 的通讯类,通过在不同js里面引入该类,实现通讯机制。
参考代码
通讯类 Event
import {
EventEmitter
} from 'events'
export default new class Event extends EventEmitter {
// 首次使用构造器实例
constructor() {
super()
if (!Event.instance) {
Event.instance = this
}
return Event.instance
}
}
测试类test1.js
import event from './event'
export default class Test1 {
constructor() {
// 监听事件
event.on('test2-msg', (data) => {
console.log(data, '来自test2')
})
}
}
测试类test2.js
import event from './event'
export default class Test2 {
constructor() {
event.emit('test2-msg', '我是test2发来的消息')
}
}
测试
import Test1 from './test1'
import Test2 from './test2'
new Test1()
new Test2()
控制台返回结果
我是test2发来的消息 来自test2