创建节点

Node-RED的主要扩展方式是在其面板中添加新节点。

节点可以发布为npm模块到公共npm仓库,并添加到Node-RED流程库中,使其对社区可用。

自 Node-RED 1.3 起

通用指南

在创建新节点时,需要遵循一些通用原则。这些原则反映了核心节点所采用的方法,有助于提供一致的用户体验。

节点应满足以下要求:

  • 目的明确。

    一个暴露API所有可能选项的节点,其实际用途可能不如每个节点只专注于单一功能的一组节点。

  • 易于使用,无论底层功能如何。

    隐藏复杂性,避免使用行话或领域特定知识。

  • 对所接受的消息属性类型保持宽容。

    消息属性可以是字符串、数字、布尔值、缓冲区、对象、数组或空值。节点在面对任何这些类型时都应正确处理。

  • 发送内容保持一致。

    节点应当记录它们添加到消息中的属性,并且其行为应当保持一致性和可预测性。

  • 可以位于流程的开头、中间或结尾 - 但不能同时出现在所有位置。

  • 捕获错误。

    如果某个节点抛出未捕获的错误,Node-RED将停止整个流程,因为系统状态已不再可知。

    在任何可能的情况下,节点必须捕获错误或为它们进行的任何异步调用注册错误处理程序。