Node-RED核心节点Nodes
Node-RED调色板包括一组默认的节点,它们是基本的构建 用于创建流的块。本页重点介绍了您应该了解的核心集。
所有节点都包含文档,您可以在选择节点时在Info侧栏选项卡中看到。
Inject注入
使用Inject节点,通过单击该节点左侧的方块按钮,可以在编辑器中手动触发流 。它还可以用于定期自动触发流 间隔。
Inject节点发送的消息有其 payload
和 topic
属性 集。
payload
可以设置为多种不同的类型:
- Flow流上下文或Global全局上下文以及环境变量属性值
- 字符串,数字,布尔值,二进制流或JSON对象
- 从1970年1月1日开始以毫秒为单位的时间戳
- 表达式
- msg的其他变量映射
从node – red 1.1.0开始,Inject节点现在可以在消息上设置任何属性。
示例:
类型 | 设置值 |
输出 |
文本 | 8jxn.com |
msg.payload : string[8] “8jxn.com” |
数字 | 1234567.890 |
msg.payload : number 1234567.89 |
布尔值 | true |
msg.payload : boolean true |
Json | {“性别”:”男”,”年龄”:”12″} |
msg.payload : Object { 性别: “男”, 年龄: “12” } |
二进制流 | [56,106,120,110,46,99,111,109] |
msg.payload : buffer[8] [ 56, 106, 120, 110, 46, 99, 111, 109 ] |
时间戳 |
msg.payload : number 1717896721683 |
|
表达式 | $split(“12 13 14 15″, ” “, 4) |
msg.payload : array[4] [ “12”, “13”, “14”, “15” ] |
interval
最多可设置596小时(约24天)。 如果您考虑的时间间隔大于一天,请考虑使用可以处理断电和重新启动的调度器节点。
interval between times
和 at a specific time
选项使用标准的cron系统。
Debug调试
Debug节点可用于在编辑器的Debug侧栏中显示消息。
侧边栏提供了它所发送的消息的结构化视图,使其更容易 检查信息。
除每条消息外,调试侧栏还包含有关消息时间的信息 是哪个调试节点发送的。单击源节点id将显示 工作区中的那个节点。
节点上的按钮可用于启用或禁用其输出。这是推荐的 禁用或删除任何未被使用的调试节点。
还可以将节点配置为将所有消息发送到运行时日志,或发送到 向调试节点下的状态文本发送短消息(32个字符)。
关于处理消息的页面提供了更多信息 有关使用“调试”侧栏的信息。
Function函数
Function节点允许针对传入的消息运行JavaScript代码。
关于使用Function节点的完整指南可以在这里找到。
Change改变
Change节点可用于修改消息的属性和设置上下文属性 而不必求助于Function节点。
每个节点都可以配置多个按顺序应用的操作。 可用的操作有:
- 设定值-设置属性。该值可以是各种不同的类型,或者 可以从现有消息或上下文属性中获取。
- 替换值-搜索和替换消息属性的某些部分。
- 转移-移动或重命名属性。
- 删除-删除属性。
在设置属性时,值也可以是JSONata表达式的结果。 JSONata是一种用于JSON数据的声明式查询和转换语言。
关于使用Change节点的指南可以参考这里。
Switch开关
Switch节点允许通过将消息路由到流的不同分支 针对每个消息评估一组规则。
“switch”这个名字来自于“switch语句” 在许多编程语言中都是通用的。这不是指实际的 switch
节点配置了要测试的属性——它可以是消息 属性或上下文属性。
规则有四种类型:
- Value 根据配置的属性计算值规则
- Sequence 序列规则可用于消息序列,例如通过拆分节点生成的消息序列
- Expression 可以提供一个JSONata表达式,它将根据 如果表达式返回
true
值,则匹配整个消息。 - Otherwise 如果前面的规则都没有匹配,可以使用else规则进行匹配。
节点将把消息路由到与匹配规则相对应的所有输出。
还可以将其配置为在找到匹配的规则时停止计算规则。
Template模板
Template节点可用于使用消息的属性来生成文本 填写模板。
它使用Mustache模板 生成结果的语言。
例如,模板:
This is the payload: {{payload}} !
如果上面模板的输入是时间戳,则输出消息为:
msg.payload : string[36]
"This is the payload: 1717897648647 !
将 {{payload}}
替换为消息的 payload
属性的值。
默认情况下,Mustache将用它们的HTML转义码替换某些字符。 为了防止这种情况发生,可以使用三括号: {{{payload}}}
。
Mustache支持简单的列表循环。例如,如果 msg.payload
包含 名称数组,如: ["Nick", "Dave", "Claire"]
,模板如下 将创建一个名称的HTML列表:
<ul> {{#payload}} <li>{{.}}</li> {{/payload}} </ul>
<ul> <li>Nick</li> <li>Dave</li> <li>Claire</li> </ul>
节点将使用结果设置已配置的消息或上下文属性 的模板。如果模板生成有效的JSON或YAML内容,则可以 配置为将结果解析为相应的JavaScript对象。
有公众号之类的吗,之前这个网站打不开了
[…] 关于使用Change…
[…] 关于使用Functi…
谢谢提醒,已删 :)
还有你上边文章的图片里有一个账户名没有打…