什么是 Node-RED
Node-RED 是一个基于 Node.js 平台的可视化编程工具,由 IBM 开发。它提供了一种简单的方式来连接设备、Web API 和在线服务,并通过将它们拖放到操作面板上来创建一条基于流程的程序。Node-RED 的主要目标是提高互联设备间协作开发的效率,并使通信更加便捷高效。
安装和使用 Node-RED
Node-RED 的安装非常简单,只需要执行以下命令即可:
$ sudo npm install -g --unsafe-perm node-red
安装完成后,执行以下命令可启动 Node-RED:
$ node-red
默认情况下,Node-RED 会在本地 1880 端口上启动。
接下来,在浏览器中打开 http://localhost:1880
,即可看到 Node-RED 的操作界面,开始进行流程编排。
如何使用 Node-RED 进行流程编排
在 Node-RED 中,每一个节点都代表一个操作或者处理的任务。流程就是将这些节点按照需求连接在一起的连线,形成一个完整的流程结构。比如下面这个简单的流程,就包含了 HTTP 请求、数据转换和将转换后的数据发送到数据库的操作:
节点和连线
通过拖拽节点和连线来创建流程,节点可以理解为一个个小的处理单元。
在节点面板左侧的区域中,有大量的内置节点以及第三方节点,可以通过搜索、收藏和安装插件的方式来获取并管理这些节点。下面是一些常用的节点类型:
- 输入节点:读取外部数据,如文件、传感器、Web 服务等;
- 处理节点:完成某些任务,如数据解析、格式化、计算等;
- 输出节点:将处理结果返回给外部,如文件、数据库、Web API 等。
在节点面板右侧的区域中,可以设置节点的属性,如输入输出类型、目标地址、订阅地址、Json 数据等等。
节点之间的连线用来传递数据,每条连线都有一个指定的数据分组,同一组数据在流程中可以自由传递。对于一些节点也可以设置成不输出数据,或者没有数据输入的节点,这些节点通常称为流程控制节点。
除了使用拖拽的方式来创建节点和连线,还可以使用文本编程,搭配起来使用也更加灵活易用。这类似于 JavaScript 语言中链式代码的写法风格,可以通过简单的语法和关键字调用我们所需要的功能。
节点部署和测试
在流程编排完成后,需要部署流程。在部署时,Node-RED 会自动处理流程中的节点、连线、数据通道等等,使流程顺利高效地运行起来。部署后,可以通过 Debug
节点查看流程中的数据流程,也可以通过 Dashboard
节点构建交互界面。
为了测试流程,我们需要触发某一个节点,以查看或者验证流程的执行结果。通常情况下,我们都会使用 inject
节点作为流程的入口节点,它可以设置触发时间、数据、循环次数等属性。当 inject
节点被触发后,流程开始运行,我们可以通过 Debug
节点查看节点间的数据流以及流程的运行状态。
示例:用 Node-RED 实现一个简单的天气预报查询程序
下面是一个使用 Node-RED 实现的天气预报查询程序的流程,该程序从天气 API 接口读取天气并将其存储在 Redis 数据库中。
在这个例子中,我们使用了以下几种节点:
inject
节点:作为流程的入口,用于触发流程运行;http request
节点:用于在 HTTP 中发起网络请求,获取天气数据;JSON
节点:用于解析返回的 JSON 数据,抽离有效的天气信息;switch
节点:用于根据天气信息的类型,切换存储流程;Redis
节点:用于存储天气数据。
除此之外,我们还可以通过 Debug
节点,输出流程中的调试信息以及系统状态,以便分析和调试程序。同时,由于 Node-RED 是一个开源工具,拥有庞大的开发者社区,是一个令人惊叹的功能工具集。
总结
Node-RED 是一个轻量级的、易于使用的流程编排工具,它能够极大地简化并优化开发过程,提高开发效率。使用 Node-RED 可以快速地搭建任何业务流程,从而实现数据传递、数据处理、数据分析、数据呈现等多种功能,使得开发过程更加简单、容易和非常实用。
希望通过这篇文章,能够让读者深入了解 Node-RED 并掌握基本技能,进一步提高前端开发能力。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ae51e048841e9894a538f6