UNPKG

u-node-mq

Version:

基于发布订阅模型的消息通信插件

100 lines (67 loc) 3.57 kB
<!-- https://duotones.co/ --> <p align="center"> <a href="https://github.com/Juaoie/u-node-mq" style="margin-right:20px"><img src="https://img.shields.io/github/stars/Juaoie/u-node-mq?labelColor=11245E&color=DC4379&logo=github" alt="Stars"></a> <a href="https://github.com/Juaoie/u-node-mq" style="margin-right:20px"><img src="https://img.shields.io/github/forks/Juaoie/u-node-mq?labelColor=290900&color=FFEFB3&logo=github" alt="Forks"></a> <a href="https://github.com/Juaoie/u-node-mq" style="margin-right:20px"><img src="https://img.shields.io/github/languages/code-size/Juaoie/u-node-mq?labelColor=682218&color=F8BE3D&logo=github" alt="Size"></a> <a href="https://github.com/Juaoie/u-node-mq" style="margin-right:20px"><img src="https://img.shields.io/npm/v/u-node-mq?labelColor=00007E&color=6AFF7F&logo=npm" alt="Version"></a> <a href="https://github.com/Juaoie/u-node-mq" style="margin-right:20px"><img src="https://img.shields.io/github/languages/top/Juaoie/u-node-mq?labelColor=01AB6D&color=FBF019&logo=TypeScript&logoColor=FDD9E2" alt="Languages"></a> <a href="https://github.com/Juaoie/u-node-mq" style="margin-right:20px"><img src="https://img.shields.io/github/license/Juaoie/u-node-mq?labelColor=7F01D3&color=01DBFE" alt="Count"></a> </p> ## 文档目录结构 - [README.md](./README.md) - [todo.md](./todo.md) - docs - [nav.md](./docs/nav.md) 导航预览 - [unmq.md](./docs/unmq.md) 快速开发 - [other.md](./docs/other.md) 其他 - internal - [index.md](./docs/internal/index.md) 组件介绍 - [logs_sys_dev.md](./docs/internal/logs_sys_dev.md) 自定义日志系统开发 - [termui.md](./docs/internal/termui.md) termui 使用 - operators - [index.md](./docs/operators/index.md) 操作符介绍 - plugins - [index.md](./docs/plugins/index.md) 插件介绍 - [IframePlugin.md](./docs/plugins/IframePlugin.md) Iframe 通信插件 ## 文档内容 ### `u-node-mq` 是什么? `u-node-mq`是用来解决前端项目中数据异步通信问题的工具,可以准确的将一个模块的数据传到另一个模块,就像`rabbitMQ`使用发布订阅模型的中间件一样,使用`u-node-mq`可以完全解耦前端模块的耦合; ### 其他 - `u-node-mq`在文档和代码注释中有时也会写成简写`unmq`; - `u-node-mq`中的`u`是标识词;`node`是最初创建项目的执行环境是 `node`,但是后面经过使用 `ts` 升级和重构,现在已经升级到可以在所有 `js` 环境中执行;`mq`是`message queue`的简写; - [其他信息](./docs/other.md) ### npm 安装 `pnpm add u-node-mq` or `yarn add u-node-mq` or `npm install u-node-mq` ### `u-node-mq` 基本使用方法 **unmq.js** ```javascript 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** ```javascript import unmq from "unmq.js"; //发送数据 unmq.emit("ex1", "消息内容1", "消息内容2"); ``` **模块 B.js** ```javascript import unmq from "unmq.js"; //接收并消费数据 unmq.on("qu1", getData); function getData(data) { console.log(data); } ``` ### [了解更多详细内容](./docs/nav.md) ### [TODO](./todo.md)