- README.md
- todo.md
- docs
- nav.md 导航预览
- unmq.md 快速开发
- other.md 其他
- internal
- index.md 组件介绍
- logs_sys_dev.md 自定义日志系统开发
- termui.md termui 使用
- operators
- index.md 操作符介绍
- plugins
- index.md 插件介绍
- IframePlugin.md Iframe 通信插件
u-node-mq
是用来解决前端项目中数据异步通信问题的工具,可以准确的将一个模块的数据传到另一个模块,就像rabbitMQ
使用发布订阅模型的中间件一样,使用u-node-mq
可以完全解耦前端模块的耦合;
-
u-node-mq
在文档和代码注释中有时也会写成简写unmq
; -
u-node-mq
中的u
是标识词;node
是最初创建项目的执行环境是node
,但是后面经过使用ts
升级和重构,现在已经升级到可以在所有js
环境中执行;mq
是message queue
的简写;
pnpm add u-node-mq
or
yarn add u-node-mq
or
npm install u-node-mq
unmq.js
import UNodeMQ, { Exchange, Queue } from "u-node-mq";
//声明交换机ex1,以及队列qu1
const unmq = new UNodeMQ({ ex1: new Exchange({ routes: ["qu1"] }) }, { qu1: new Queue() });
export default unmq;
//可以挂到抬手就摸得到的位置
// Vue.prototype.unmq = unmq; //(Vue 2.x)
// const app = createApp({})
// app.config.globalProperties.unmq = unmq //(Vue 3.x)
模块 A.js
import unmq from "unmq.js";
//发送数据
unmq.emit("ex1", "消息内容1", "消息内容2");
模块 B.js
import unmq from "unmq.js";
//接收并消费数据
unmq.on("qu1", getData);
function getData(data) {
console.log(data);
}