发布于2021-05-09 16:52 阅读(2407) 评论(0) 点赞(3) 收藏(2)
Node-RED背景介绍
Node-Red是IBM公司开发的一个可视化的编程工具。它允许程序员通过组合各部件来编写应用程序。这些部件可以是硬件设备(如:Arduino板子)、Web、API(如:WebSocket in和WebSocket out)、功能函数(如:range)或者在线服务(如:email)。
Node-Red提供基于网页的编程环境。通过拖拽已定义node到工作区并用线连接node创建数据流来实现编程。程序员通过点击‘Deploy’按钮实现一键保存并执行。程序以JSON字符串的格式保存,方便用户分享、修改。
Node-Red基于Node.js,它的执行模型和Node.js一样,也是事件驱动非阻塞的。理论上,Node.js的所有模块都可以被封装成Node-Red的一个或几个node。(Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。 Node.js 的包管理器 npm是全球最大的开源库生态系统。)
案例
1.设置一个 userid 为全局变量
2.提供给全局进行调用
拉取一个 function 模块
flow.set("userid", msg.payload.userid);
在前面的流程之后,拉取一个 function 模块
flow.get('userid') || 0
官方文档
https://nodered.org/docs/user-guide/writing-functions#writing-a-function
node
node.id:功能节点的ID-已添加到0.19
node.name:功能节点的名称-添加在0.19中
node.outputCount:为功能节点设置的输出数量-在1.3中添加
node.log(..):记录一条消息
node.warn(..):记录警告消息
node.error(..):记录错误消息
node.debug(..):记录调试消息
node.trace(..):记录跟踪消息
node.on(..):注册事件处理程序
node.status(..):更新节点状态
node.send(..):发送一条消息
node.done(..):以一条消息结束
context
context.get(..) :获取节点范围的上下文属性
context.set(..) :设置节点范围的上下文属性
context.keys(..) :返回所有节点范围的上下文属性键的列表
context.flow : 和...一样 flow
context.global : 和...一样 global
flow
flow.get(..) :获取流范围的上下文属性
flow.set(..) :设置流范围的上下文属性
flow.keys(..) :返回所有流范围的上下文属性键的列表
global
global.get(..) :获取全局范围的上下文属性
global.set(..) :设置全局范围的上下文属性
global.keys(..) :返回所有全局作用域上下文属性键的列表
RED
RED.util.cloneMessage(..) :安全地克隆消息对象,以便可以重复使用
env
env.get(..) :获取环境变量
其他模块和功能
“功能”节点还使以下模块和功能可用:
Buffer-Node.jsBuffer模块
console-Node.jsconsole模块(node.log是首选的日志记录方法)
util-Node.jsutil模块
setTimeout/clearTimeout -javascript超时功能。
setInterval/clearInterval -JavaScript间隔功能。
注意:功能节点在停止或重新部署时会自动清除所有未完成的超时或间隔计时器。
作者:大哥你来啦
链接:http://www.qianduanheidong.com/blog/article/94656/3e61f1e11981a76715a6/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!