Node-RED研究、学习、内核开发、插件开发笔记
Node-RED介绍:
一、Node-RED能用来做什么
- 任务
- 定时任务
- 服务
- API接口
- 监听器
- MQTT
- TCP、UDP
- WebSocket
二、Node-RED能做什么
- 基于官方提供的节点可以使你的流具备以下能力:
- 逻辑控制
- 数据处理、数据解析
- 序列化
- 网络调用
- 数据库操作
- 文件读写及监控
- 自定义开发节点:
- NodeJs能做的它都能做
研究笔记
一、流设计
Flow
- flow多分支时,执行顺序为分支线创建顺序,与上下位置无关
- 在function节点中编写JS代码时,return或return null会终止当前Flow,不会执行到下一个节点。想要执行到下一个节点,需要*
return msg*
二、内核开发
三、自定义节点开发
JS文件
- send(msg):将当前节点的msg传递到下一个节点。如果不执行此函数,则下一个节点不会执行。
- done():告诉nodered运行时当前节点执行完毕,开始异步执行下一个节点。done()下面的代码会与下一个节点一起异步执行。(
最好使自己编写的节点内部代码都是同步的,便于理解和调试。除非你知道自己在做什么) - return或return null:结束当前函数。注:函数结束之前不执行send(msg)函数则会终止当前流程,不会执行到下一个节点。
- 抛出异常:
语法:
node.error("hit an error", msg)
作用:触发流内的异常捕获节点,参数1为抛出的错误消息,参数2为流转的msg对象。
- 打印日志:
语法(可在编辑器中和自定义节点JS文件中使用):
node.log("Something happened");
node.warn("Something happened you should know about");
node.error("Oh no, something bad happened");
作用:打印日志到console或debug tab,只有warn和error才会打印到debug tab
官方文档:
HTML文件
(持续更新中…)